(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "ibm :: 360 :: fortran :: SC28-6861-2 OS FORTRAN H Inst Nov74"

SC28-6861-2 



Program Product 



IBM FORTRAN IV 
(H Extended) Compiler and 
FORTRAN Library (Mod II) 
for OS and VM/370 
(CMS) Installation 
Reference Material 



Program Numbers: 5734-F03 
5734-LM3 



The FORTRAN IV (H Extended) compiler and the 
FORTRAN IV Library (Mod II) are released as 
independent components that require installation under 
the IBM Operating System or the Conversational Monitor 
System component of the IBM Virtual Machine 
Facility/370. 

This publication describes the procedures for installing the 
FORTRAN IV (H Extended) compiler and the 
FORTRAN IV Library (Mod II). It is intended for use 
by system programmers or planners who supervise the 
generation and maintenance of an installation's 
operating system. 






I_J 



Third Edition (November 1974) 

This is a major revision of, and obsoletes, the previous edition, 
SC28-6861-1. Changes in this edition are listed in the Summary 
of Amendments, Number 2, on the facing page. 

This edition applies to Release 2.1 of the FORTRAN IV (H Extended) 
Compiler and FORTRAN IV Library (Mod II) . 

Changes are periodically made to the specifications herein; any such 
changes will be reported in subsequent revisions or Technical 
Newsletters. 

Requests for copies of IBM publications should be made to your IBM 
representative or to the IBM branch office serving your locality. 

A form for readers' comments is provided at the back of this 
publication. If the form has been removed, comments may be addressed to 
IBM Corporation, Programming Publications, 1271 Avenue of the Americas, 
New York, N.Y. 10020. 

C Copyright International Business Machines 1971,1972,1974 



Summary of Amendments Number 1 



Date of Publication: November, 1972 
Form of Publication: Revision, SC28-6861-1 



CMS installation Information 

New: Programming Feature 

With this release, the FORTRAN IV (H Extended) Compiler and the Mod II 
Library can be installed under CMS. Storage estimates information for the 
compiler and library under CMS has been added to the "Storage Estimates" 
section. A detailed step-by-step description of CMS installation procedures has 
been included in the "Installation Procedures" section. A sample compiler 
output listing has been added to Appendix B. 

Revised Distribution Tape Format 

Specification Change 

To accommodate CMS files, the format of the distribution tape for the compiler 
and library has been revised. The new format is described in the "Installation 
Procedures" sections. 

Additional Compiler Default Options 

New Programming Feature 

The ADSIZE and CMSIZE options have been added to the FORTRAN macro 
instruction. They control the default size of the compiler address constant table 
(NADCON) and the backward connection table (CMAJOR). Information has been 
added to the section "Coding the FORTRAN Macro Instruction". 



Editorial changes having no technical significance are not noted here. 

Specific changes to the text as of this publishing date are indicated by a vertical bar to the left of 
the text. These bars will be deleted at any subsequent republication of the page affected. 



Summary of Amendments Number 2 



Date of Publication: November, 1974 
Form of Publication: Revision, SC28-6861-2 



FORTRAN Macro Name Changed to FORTRANX 

New: Programming and Documentation 

The name of the FORTRAN macro has been changed to FORTRANX so that installations 
using more than one of the H level FORTRAN compilers will not have more than one 
installation macro with the same name. 

New and Changed FORTRANX Macro Instruction Options 

New: Programming and Documentation 

The new options COMDUMP, COMOPTS, COMOVLY, COMPSYS, INSTERR, NAME, 
PERMXL, SIZE, SORFLAG, SORTERM, and TRACE, have been added to the FORTRANX 
macro instruction. Changes have been made to the values that may be specified in the 
existing OBJID, ADSIZE, and CMSIZE options. 

Revised Discussion of Installation Procedure Messages 

New: Programming and Documentation 

The text of messages produced by the new FORTRANX macro instruction options has been 
included, and the discussion of compiler error messages has been deleted. 

Revised Number of OS Files on Compiler Distribution Tape 

New: Programming and Documentation 

The number of files has been increased from 6 to 7 to include alternate OS cataloged 
procedures. Changes have been made to the discussion of user-written procedures to 
install the compiler and library. 

CMS Installation Example 

Maintenance: Programming and Documentation 

An example showing how to install the compiler from a terminal has been included. 
Additionally, a number of minor changes to the procedure for installing the compiler have 

been made. 

RYR1 FORT I IR Sennndarv Storaae Reauirements 

Maintenance: Documentation Only 

The number of directory records and 3330 disk tracks required for the SYS1.FORTLIB 
library has been increased. 

SYSLIN DD Statement Blocking Factor 

Maintenance: Documentation Only 

A brief new section has been added describing how to change the blocking factor for the 
SYSLIN DD statement. 



Editorial changes having no technical significance are not noted here. 

Specific changes to the text as of this publishing date are indicated by a vertical bar to the left of the 
text. These bars will be deleted at any subsequent republication of the page affected. 



PREFACE 



This publication is designed for system 
programmers and planners who supervise the 
qeneration and maintenance of an 
installation's operating system. It 
describes the installation procedures 
required for the FORTRAN IV (H Extended) 
compiler and the FORTRAN IV Library (Mod 
II). 



There are five major sections in this 
publication as follows: 

• Introduction 

• Installation Procedures 

• Storaqe Estimates 

• System Planning 

• Appendixes 

The "Introduction" contains an overview 
of the installation procedures and general 
information about the FORTRAN IV (H 
Extended) compiler and the FORTRAN IV 
Library (Mod II). 



The "Installation Procedures" section is 
divided into two parts. The first part 
describes how to install the compiler under 
OS and VM/370 and the second part describes 
how to install the library under OS and 
VM/37 0. 



The "Storage Estimates" section contains 
dynamic and secondary storage requirements 
for the compiler and library. 



The "System Programming" section is 
divided into three parts. The first part 
describes how to modify OS Release 19 for 
installing the compiler and library. The 
second part describes how to create and 
alter the option table for the Extended 
Error Handling facility. The third part 
describes how to concatenate data sets 
using the link library list under OS. 

The "Appendixes" section is divided into 
three parts. Appendix A lists the modules 
comprising the FORTRAN IV (H Extended) 
compiler and the FORTRAN IV Library (Mod 
II). In addition, information for 



obtaining the module lengths is included. 
Appendix B describes the sample FORI RAN 
programs that are punched during the 
installation procedure to verify the 
installation of the FORTRAN IV (H Extended* 
compiler and tne FORTRAN IV Library (Mod 
II). Appendix C lists diagnostic messages 
produced to check the coding of the FORTRAN 
and FORTLIB macro instructions. 



REFERENCE PUBLICATIONS 



It is assumed that users of the OS are 
familiar with the infornation in these 
publications : 



IBM System/360 Operating System 
Messages and Codes 
Order No. GC28-6 631 

OS/VS Message Library : 
VS1 System Messages 
Order No. GC38-1001 

OS/VS Message Library : 
VS1 System Codes 
Order No. GC38-1003 

OS/VS Message Library : 
VS2 System Messages 
Order No. GC38-1002 

OS/VS Message Library : 
VS2 System Codes 
Order No. GC38-1008 

IBM System/360 Operating System 
Operator ' s Reference 
Order No. GC28-6691 

Operator's Library : 
0S/VS1 Reference 
Order No. GC38-0110 

Operator ' s Library : 
0S/VS2 Referenc e" 
Order No. GC38-0210 

IBM OS/MFT and OS/MVT Utilities 
Order No. GC28-6586 

IBM System/360 Operating System 
Job Control Language Reference 
Order No. GC28-6704 



OS/VS JCL Reference 
Order No. GC28-0618 

OS/VS JCL Services 
Order No. GC28-0617 

IBM OS System Generation 
Order No. GC28-6554 

OS/VS1 System Generation Reference 
Order No. GC26-3791 

OS/VS2 System Generation Reference 
Order No. GC26-3792 ~ 



It is assumed that users of IBM VM/370 
are familiar with the information in these 
publications: 

IBM Virtual Machine Facility/370 

Introduction 

Order No. GC20-1800 

IBM Vi rtual Machine_Facility/370 
E3:§.QIli09._§.Dl_§Z§t§lI!_5 e .n§£2tion_Guide 
Order No. GC20-1801 

I§M_Vi r tua 1 _Machi ne _Fac i 1 i t y/3 7 _Command 

L§.Q9.y§3 e -_ y§.®lL§. _Gui<|§ 
Order No* GC20-1804 

I BM Vir t ual Machine Facility/370 
EDIT Guide 



IBM Virtual Machine Facility/370 
Terminal User's Guide 
Order No. GC20-1810 



Related Publications 

The following publication contains general 
information about the FORTRAN IV (H 
Extended) compiler and Mod II library: 

FORTRAN Program Products for OS and the 
C MS Component of VM/370. 
General Information 
Order No. GC28-688U 

Additional information pertaining to the 
use of the FORTRAN IV (H Extended) compiler 
and the FORTRAN IV Library (Mod II) once 
they are installed can be found in these 
publications: 

IBM OS FORTRAN IV (H Extended) 
Compiler Programmer ' s Guide 
Order No. SC28-6852 



Order No. GC20-1805 

IBM Virtual Machine Facility/370 
Operator's Guide 
Order No. GC20-1806 



IBM OS FORTRAN IV Library 
Mathematical and Service Subprograms 
Order No. GC28-6818 

IBM OS FORTRAN IV Mathematical and 

Service Subprograms 

Supplement for Mod I and Mod II 

Libraries 

Order No. SC28-6864 

IBM OS FORTRAN IV (H Extended ) 

Compiler and Library (Mod IT) 

Messages 

Order No. SC28-6865 



CONTENTS 



INTRODUCTION 7 

FORTRAN IV (H Extended) Compiler 7 

FORTRAN IV Liorary (Mod II) 7 

INSTALLATION PROCEDURES 9 

FORTRAN IV <H Extended) Con.piler Under OS 9 

Format of the FORTRAN IV <H Extended) Compiler Distribution Tape 9 

Requirements for Compiler Installation Under OS 9 

Overview of the Compiler Installation Procedure Under OS . . . 10 

Installinq the Compiler Under OS 12 

Coding a User-written Procedure to Prepare the System for Loading the Distribution 

Tape 12 

Coding the FORTRANX Macro Instruction . m 

Loading and Running the Distribution Tape Under OS , , , , , 25 

Running a Sample FORTRAN Program to Verify Success of the Compiler Installation 

Under OS 26 

FORTRAN IV (H Extended) Compiler Under VM/370 27 

Requirements for Compiler Installation Under CMS • 27 

Installing the Compiler Under CMS 27 

FORTRAN IV Library (Mod II) Under OS 37 

Format of the FORTRAN IV Library (Mod II) Distribution Tape 37 

Requirements for Library Installation Under OS 37 

Overview of the Library Installation Procedure Under OS .38 

Installing the Library Under OS . , 40 

Coding a User-Written Procedure to Prepare the System for Loading the Library 

Distribution Tape 40 

Coding the FORTLIB Macro Instruction 42 

Loading and Running the User-Written Procedure and the Library Distribution Tape 

Under OS 45 

Running a Sample FORTRAN Program To Verify the Success of the Library Installation 

and Updating SYS1. FORTLIB Under OS 46 

FORTRAN IV Library (Mod II) Under VM/370 47 

Requirements for Library Installation Under CMS . . 47 

For PTF Installation Only 48 

Installing the Library Under CMS . ....... 48 

Storage Requirements .. 56 

SYSTEM PROGRAMMING 59 

Compiler and Library Installation for OS Release 19 Users 59 

Requirements for Installation on OS Release 19 . . . 59 

Installation Procedures on OS Release 19 .60 

Copying the Extended Precision Floating Point Simulator Routines 60 

tjpGCiaj. iii3tuiiui.j.uii i.uiii)j.uciauiuiio j. <_/jl ujroLcuv juv nuuci o -> wi X 7 _> f vji. oyotciii/ JIU 

Users with OS . .' 62 

Assembling User-Written Compiler and Library Modules on OS Release 19 . 63 

Extended Error Handling Facility 64 

How to Create or Alter an Option Table 64 

The Link Library List Under OS... 66 

SYSLIN Definition in Cataloged Procedures 6~7 

APPENDIX A: COMPILER AND LIBRARY MODULES 68 

FORTRAN IV (H Extended) Compiler Modules 68 

FORTRAN IV (H Extended) Compiler CMS Interface Module 68 

Obtaining CSECT Sizes for the Compiler Modules Under OS ..... .... 68 

FORTRAN IV Library (Mod II) 70 

FORTRAN IV Library (Mod II) CMS Interface Module 70 

IHOCMS 70 

APPENDIX B: SAMPLE PROGRAMS PRODUCED BY THE COMPILER AND LIBRARY DISTRIBUTION TAPES . 72 

FORTRAN IV (H Extended) Compiler Under OS 72 

FORTRAN IV (H Extended) Compiler Under CMS 73 

FORTRAN IV Library (Mod II) Under OS 74 



APPENDIX C: INSTALLATION PROCEDURE MESSAGES 77 

FORTRAN IV (H Extended) Compiler 7 7 

Installation Information Messages 77 

Installation Error Messages 77 

FORTRAN IV Library (Mod II) 80 

Library Information Messages 80 

Library Error Messages • 80 

INDEX 8 3 



ILLUSTRATIONS 



FIGURES 

Figure 1. Files on the FORTRAN IV (H Extended) Compiler Distribution Tape 9 

Figure 2. FORTRAN IV (H Extended) Compiler Installation Under OS . . . * 11 

Figure 3. User-written Procedure for FORTRAN IV (H Extended) Compiler Installation . 12 

Figure U. Format of the FORTRANX Macro Instruction 16 

Figure 5. Effects of Running the User-written Procedure and the Compiler 

Distribution Tape Under OS 26 

Figure 5-1. Procedure for Installing the Compiler under CMS (Part 1 of 4) 33 

Figure 6. Files on the FORTRAN IV Library (Mod II) Distribution Tape 37 

Figure 7. FORTRAN IV Library (Mod II) Installation Under OS 39 

Figure 8. User-written Procedure for Mod II Library Installation 40 

Figure 9. Format of the FORTLIB Macro Instruction 43 

Figure 10. Effect of Running the User-written Procedure and the Library 

Distribution Tape Under OS .... ' . 46 

Figure 11. Copying the Extended Precision Floating Point Simulator Routines from 

Release 20 into Release 19............ ..61 

Figure 12. Example of Assembler Language Macro Definition Used to Generate Option 

Table 65 

Figure 13. Sample Output from the IMBMDMAP Service Aid Program . 69 

Figure 14. Sample Program Produced by the Compiler Distribution Tape Under OS .... 72 

Figure 15. Sample Program Produced by the Compiler Distribution Tape Under CMS ... 73 

Figure 16. Sample Program Produced by the Library Distribution Tape (Part 3 of 2) . . 74 



TABLES 



Table 1. Minimum Dynamic Storage Reguirements for Executing the FORTRAN IV < H 

Extended) Compiler Under OS and CMS 56 

Table 2. FORTRAN IV (H Extended) Compiler Secondary Storage Reguirements 57 

Table 3. FORTRAN IV Library (Mod II) Secondary Storage Requirements 57 

Table 4. FORTRAN IV (H Extended) Compiler and Library (Mod II) Secondary Storage 

Requirements under CMS . . . 58 

Table 4. Compiler installation mrormation Messages \ran. x ui *;.... 7b 

Table 5. Library Installation Information Messages 80 






This publication contains installation procedures and reference material 
for system programmers and planners for installing tne FORTRAN IV <H 
Extended) compiler and the FORTRAN IV Library (Mod II). 

The FORTRAN IV (H Extended) compiler and the FORTRAN IV Library (Mod 
II) are problem programs that run under the IBM Operating System or the 
Conversational Monitor System (CMS) component of VM/37Q* They function 
independently of each other and are installed separately. Each program 
is distributed on its own tape that contains the compiler and library 
modules, control statements necessary for installation, and test 
programs for verifying the installation procedures. However, a 
user-written procedure, which is described in this publication, 
containing items that are dependent upon the facilities available at 
your installation is reguired to prepare the system prior to running the 
distribution tapes. Additional system preparation is reguired for the 
library when an option table must be created or altered for the Extended 
Error Handling feature. 



FORTRAN I V (H EXTENDE D ) C OMPILER 

The FORTRAN IV (H Extended) compiler processes programs written in the 
FORTRAN language and produces object modules that are suitable as input 
to tne linkage editor for suoseguent execution on Systeni/360 and 
System/370 machines. Optionally, tne compiler is able- to produce 
optimized object modules, perform precision conversion, process extended 
precision quantities, and process extensions to tne FORTRAN IV language. 
Furthermore, a set of seven cataloged procedures provides a variety of 
compile, link edit, load, and execute control statments for the 
compiler. For information on using the compiler once it is installed 
see the publications OS FORTRAN IV (H Extended) Programmer's 
Guide , Order No. SC28-6852 or IBM Virtual Machine Facility/370 
Terminal User's Guide for FORTRAN Program Products , Order No. 

PPOO.COQ 1 



FORTRAN IV LIBRARY (MOD II) 



The FORTRAN IV Library (Mod II) contains matnematical, service, and 
interface routines. The library is designed to suoport the extended 
precision, automatic precision increase, and asynchronous input/output 
(for OS only) , features of the FORTRAN IV language. For information 
describing the various Mod II lior^ry routines, see the puolications 
OS FORTRAN IV Library — Mathematical and Service Subprograms , 
Order No. GC28-6818 and OS FORTRAN IV Mathematical and Service 
Subprograms Supplement for Mod I and Mod II Libraries , Order No. 
SC28-6864. 



introduction 



INSTALLATION PROCEDURES 



FOktkAN IV (H EXTENDED) COMPILER UND ER OS 

FORMAT OF THE FORTRAN IV (H EXTENDED) COMPILER DISTRIBUTION TAPE 
Figure 1 describes the format of the distribution tape. 

r t 

| File Number | Contents 

OS JCL 

CMS File 

FORTRANX Options Macro 

Compiler Object (TEXT) Decks 

OS Cataloged Procedures 

Alternate OS Cataloged Procedures 

OS FORTRAN Sample Job 

Figure 1. Files on the FORTRAN IV (H Extended) Compiler Distribution 
Tape 

REQUIREMENTS FOR COMPILER INSTALLATION UNDER OS 




• A System/360 or System/370 machine that can support the OS/MFT, 
OS/MVT, or OS/VS environments. 

• The distribution tape for the FORTRAN IV iH .h'xtenaed) compiler. 

• An installed Release 20 and subsequent releases of OS or a release 
of OS/VS. (OS Release 19 users see the section "Compiler and 
Library Installation for OS Release 19 Users" for specific 
requirements. ) 

• 176K bytes of main storage for processing the compiler distrioution 
tape. 

• Space availaole on SYS1.LINKLIP or a private library for tne FOkTkAN 
IV (ri Extended) corr.niler (see Taole 2 in the "Storage Estimates" 
section for SYS1.LINKLIE storage requirements). 

• Space available on SYS1. PROCLIB or a private Horary for tne FORTRAN 
IV (H Extended) cataloged procedures (see Table 2 in the "Storaqe 
Estimates" section for SYS1. PkOCLIB storage requirements). 

• The IE3UPDTE and ILriPROGM utility programs. 



Installation Procedures 9 



OVERVIEW OF THE COMPILER INSTALLATION PROCEDURE UNDEk OS 
Compiler installation consists of the following steps t 

1. Coding a user-written procedure to prepare the system for loading 
the compiler distribution tape, 

2. Coding the PORTRANX macro instruction 

3. Loadinq and running the user-written procedure and the compiler 
distribution tape. 

•*• Running a sample FORTRAN prog r air. to verify the success of the 
compiler installation. 



Figure 2 illustrates the overall installation procedure. The steps 
for installing the compiler are discussed in detail in the following 
paragraphs. 



10 



An iBM SYSTt^JoU 
or IBM SYSTEM/370 
that supports 
MFT or MVT 





SYS 1. PROCLIB SYS 1. LINKLIB 



(\j Execute the procedure you have written 
^-^ loading the compiler distribution tape. 
(2 J Issue a START RDR, cuu to load the tape, 
' channel and unit address of the tape un 

©distribution tape. 
Loading and running the distribution ta 
(H Extended) compiler into SYSl. LINKLIB 
©procedures into SYS1. PROCLIB, or privat 
The distribution tape procedure punches 
(see "Running a Sample FORTRAN Program 
®the Compiler Installation" for informat 
A listing is printed that contains the 
procedure, the distribution tape run, t 
listing, error messages, and a linkage 
compiler. 



to prepare the system for 

where cuu specifies the 
it containing the 

pe places the FORTRAN IV 

and the cataloged 
e liDraries. 

a sample program deck 
to Verify the Success of 
ion on using this deck), 
system preparation 
he FORTRANX macro assembly 
editor map for the 



Figure 2. FORTRAN IV (H Extended) Compiler Installation Under OS 



Installation Procedures 11 



INSTALLING THE COMPILER UNDER OS 



CODING A USER-WRITTEN PROCEDURE TO PREPARE THE SYSTEM FOR LOADING THE 
DISTRIBUTION TAPE 

Before you can run the distribution tape, you must prepare and run a 
cajrd deck containing a 2-step job. The first step places into SYS1. 
PROCLIB a cataloged JCL procedure that identifies the procedure and 
linkage libraries that will contain the FORTRAN IV (H Extended) 
cataloged procedures and compiler. The second step specifies the 
FORTRAN IV (H Extended) compiler default options that are to be 
installed using the FORTRANX macro instruction. 

Figure 3 illustrates the 2-step job that is required to prepare the 
system for installing the compiler. The lettered statements contain 
fields (shown in lower case) that you must code based upon the 
facilities available at your installation. 



\ 

EM 

W : 



■//FORTJOB 

//STEPA 

//SYSPRINT 

//SYSUT2 

//SYSIN 

//STEPABC 

'//SYSPRINT 

■//PPLINK 

r//PPPROC 

//SYSIN 

/* 

//STEPB 

//SYSPRINT 

-//SYSUT2 

// 

// 

// 

//SYSIN 

./ 



./ 
/* 



JOB accounting information, MSGLEVEL=(l f 1) 

EXEC PGM=1EBUPDT£, PARM=NEW 

DD SYSOUT=A 

DD DSN=SYS1. PROCLIB, DISP=OLD 

DD DATA 

ADD N£ME=FOKTXDFF 

bXEC PGM=IEhPRCGM 

DD SYSOUT=A 

DD DSN=linkaqe library name, DISP= (SHR ( PASS > 

DD DSN=procedure library nane, DISP={SHR,PASS) 

DD DUMMY 

ENDUP 

EXEC PGiVj=IEBUPDTE, PARM=NEW" 

DD SYSOUT=A 

DD DSN = SYS1. PPCPTION,DISP=(NEW,CATLG> , 

UNIT- unit,VOL=SER= volume serial number, 
SPACE-(TRK, (tracks required, ( directory 
records) ) 

DD * 

ADD N AME= FORTRANX, LI ST=ALL 

-FORTRANX operandi, operand2, operand3, . . . 

END 

i^NDUP 



igure 3. User-written Procedure for FORTRAN IV (H Extended) Compiler 
Installation 



12 



M 



An explanation of the lettered statements in Figure 3 follows: 

I Supply any accounting information that your installation requires. 

j If you wish to block this output, add DCB=BLKSIZE=value to this 
I statement. 

Insert the name of the linkage library on which the compiler will 
reside (either SYSl. LINKLIB or a private linkage library). If the 
library you choose is not cataloged, add to this statement the 
volume serial number on which it resides. 

Note ; The FORTRAN IV (H Extended) cataloged procedures assume that 
the compiler resides on SYS1. LINKLIB. If you are using a private 
library, you may concatenate it with SYSl. LINKLIB at initial 
program load (IPL) time or you may include in the JCL of any 
FORTRAN program that will use the compiler, a JOBLIB or STEPLIB DD 
statement that describes the private library on which the compiler 
res.^.es. dee the "Link Library List" section for information on 
cor.<> r .r.~ "ting data sets with SYSl. LINKLIB or the publication IBh 
S yst eiP/S oO Operating System Job Control Language Reference , Order 
No. GC28-670U, for information on using the JOBLIB and STEPLIB DD 
statements. 

IM Insert the name of the procedure library on which the cataloged 
^^ procedures will reside (either SYSl. PROCLIB or a private procedure 
library) . 

To allocate space for the SYSl. PPOPTION data set, indicate the 
direct-access unit and volume serial number on which it will 
reside. Using Taole 2 in the "Storage Estimates" section, 
determine the number of tracks and directory records required by 
your device for SYSl. PPOPTION. 

Note ; If a SYS1 .PPOPTION data set already exists in your system, 
the STEPB SYSUT2 DD statement must be replaced by; 

//SY3UT2 DD DSN=SYS1. PPOPTION, DISP=OLD 

Code the FORTRANX macro instruction ^ specifying the compiler 
options that you wish to install as system default options (see the 
section "Coding the FORTRANX Macro Instruction" for more detailed 
information) . 



Installation Procedures 13 



CODING THE FORTRANX MACRO INSTRUCTION 



The FORTRANX macro instruction establishes the system defaults for the 
compiler options that can be specified by the FORTRAN programmer in the 
PARM parameter of the EXEC statement. These defaults will be assumed if 
the parameters are not coded in the PARM parameter by the FORTRAN 
programmer. In coding the FORTRANX macro instruction, all keyword 
operands (PUNCH, SORLIST, STORMAP, etc.) are optional and have their 
own defaults (the underlined values in Figure 4) . For example, if the 
FORTRANX macro instruction is coded as follows: 



FORTRANX 



STORMAP«MAP,LINECNT=55 ,0PT=1 ,OBJID=GOSTMT 



the following systerr defaults for the FORTRAN IV (H Extended) compiler 
options are established: 



Coded 

Default 



MAP 



LINECNT=55 



GOSTMT 
0PT=1 



Generated 
Default 

NODECK 

SOURCE 



OBJECT 
EBCDIC 

ADSIZE=U096 
CMSIZE=408P 
NOLI ST 



NOFORMAT 
NOXREF 
NOALC 
NOANSF 



Explanation 

PUNCH operand was not coded. 
SORLIST operand was not coded. 
STORMAP operand specified MAP. 
OBJPROG operand was not coded. 
SORCODE operand was not coded. 
LINLCNT operand specified 55. 
ADSIZE operand was not coded. 
CMS1ZE operand was not coded. 
OBJLIST operand was not coded. 
OB JIB operand specified GOSTMT. 
OPT operand specified 1. 
SOREDIT operand was not coded. 
SORXREF OPERAND was not coded. 
SORALC operand was not coded. 
SORANSF operand was not coded. 



14 



coaea 
Default 



tienerated 
Default 

COMPSYS=MVT 



Explanation 

Compiler will not be executed in a virtual 
storage system; the operands MVT, TSO, 
VS1, VS2, or CMS were not coded. 

OVERLAY NOOVERLAY operand was not coded. 

TERMINAL NOTERMINAL operand was not coded. 

SORFLAG=I All informational and diagnostic messages 
will be printed; the operands E or S were 
not coded. 

NOCOMPAT COMPAT operand was not coded. 

NAME—MAIN The name MAIN will be given to main 

programs, since no other name was coded. 

SIZE=MAX The compiler will use all the storage 

space available to it, since no storage 
space was coded. 

NOLIST LIST operand was not coded. 

NODUMP DUMP operand was not coded. 

NOXL XL operand was not coded. 

TRACE=0 No information concerning internal 

compiler tables will be printed, since 
no value was coded. 

Furthermore, if all of the operand defaults are desired, code the 
FORTRANX macro without specifying any operands, as follows: 

FORTRANX 

In this case, all of the underlined values in Figure 4 will be 
established as the system defaults for this compiler options. The 
following paragraphs describe in detail the FORTRANX macro keyword 
operands and their respective parameters. 



Installation Procedures 15 



Name 



Operation 
FORTRAN 



Keyword Operands and Parameters 



/DECK I 
PUNCH= ) NODECK f 

( SOURCE \ 
SORLIST= INOSOURCE/ 

(MAP ) 
STORMAP= \NOMAPj 

( OBJECT \ 
OBJPROG= INOOBJECTJ 

(BCD 1 
SORCODE= \ EBCDIC f 

LINECNT= I number) 



ADSIZE= 



CMSIZE= 



/sizel 
\4096( 

/size* 
) 4088 ( 



(LIST \ 
OBJLIST= \ NOLIST ) 

/ GOSTMT \ 
OBJID= \ N0G0STMT J 

OPT= {01112} 

/ FORMAT \ 
SOREDIT= INOFORMAT) 

(XREF I 
SORXREF= \ NOXREF ( 

(ALC 1 
SORALC= InOALC/ 

/ANSF \ 
SORANSF= \NOANSFj 

MVT 
MFT 
COMPSYS= )TSO 
VS1 
VS2 
CMS 

( OVERLAY \ 
COMOVLY= \NOOVERLAYj 

/ TERMINAL \ 
SORTERM= INOTERMINAL) 



aunr jj/i»a^ 



(I) 



/COMPAT \ 
COMOPTS= (NOCOMPATj 



[ 1 

I Note i All operands are optional; where a list of parameters is shown 

I within braces, only one may be chosen. The underlined parameters are 

I the defaults. Any number of operands may be coded. When coding, 

I column 1 must be blank. The operation, FORTRANX, may appear anywhere 

(before column 72 but must precede the operands by at least one blank. 

I The operands are separated by commas and may be continued on any 

I number of cards as long as column 72 contains a nonblank character and 

I the following card begins in column 16. 

u.„— —....————.-_— — . _._. ... 

Pigure 4. Format of the FORTRANX Macro Instruction 



16 



Name 



Operation 
FORTRANX 



Keyword Operands and Parameters 



jnamel 
NAME= 1 MAIN J 

SIZE 
SIZE= MAX 

(LIST ) 
INSTERR= \ NOLI ST / 

fDUMP \ 
COMDUMP= \NODUMP/ 

(XL \ 

PERMXL= \NOXLJ 



(valued 
! TRACE= (0. J 



I 1 

I Note : All operands are optional; where a list of parameters is shown 

Iwithin braces, only one may be chosen. The underlined parameters are 

I the defaults. Any number of operands may be coded. When coding, 

I column 1 must be blank. The operation, FORTRANX, may appear anywhere 

I before column 72 but must precede the operands by at least one blank. 

I The operands are separated by commas and may be continued on any 

I number of cards as long as column 72 contains a nonblank character and 

I the following card begins in column 16. 

i „ -.«___.„_ ___«.__«._____«.«.__««, «._«-_—.__ ____«.___—.__«.______«._«. 

Figure 4. Format of the FORTRANX Macro Instruction 



Installation Procedures 17 



PUNCH 

controls the production of a punched deck of the object program. 

DECK 

specifies that a punched deck is to be produced. 

NODECK 

specifies that a punched deck is not to be produced. 

If the PUNCH operand is not coded, NODECK is assumed. 



SORLIST 

controls the production of a listing of the FORTRAN source program. 

SOURCE 

specifies that the listing is to be produced. 

NOSOURCE 

specifies that the listing is not to be produced. 

If the SORLIST operand is not coded, SOURCE is assumed. 



STORMAP 

controls the production of a map showing the relative location of 
variables, constants, etc., in the source program. 

MAP 

specifies that the map is to be produced. 

NOMAP 

specifies that the map is not to be produced. 

If the STORMAP operand is not coded, NOMAP is assumed. 



OBJPROG 

the production of input to the linkage editor from the program 
being compiled. 

OBJECT 

specifies that the source program is to be processed by the 
linkage editor after compilation. 

NOOBJECT 

If the OBJPROG operand is not coded, OBJECT is assumed. 

SORCODE 

identifies the character set used to keypunch the source programs 

to be compiled. 

BCD 

specifies the BCD character set. 

EBCDIC 

specifies the EBCDIC character set. 

If the SORCODE operand is not coded, EBCDIC is assumed. 
18 



LI NEC NT= numb e r 

specifies the number of lines to be printed on each page of the 
FORTRAN output listing. 

number 

is an integer from 01 to 200. 

If the LINECNT operand is not coded, a value of 60 is assumed. 



ADSIZE=size 

specifies the lenqth of the address constant table. NADCON. in 
compiler CSECT, IFEAAD. This is a fixed-size table whose size is 
determined when the compiler is installed. The size that is 
specified for the table affects the number of address constants, 
parameters, and temporaries that the compiler can handle during the 
compilation of a source program. Its maximum size is 16384 bytes 
and its minimum is 1024 bytes. The SIZE compiler option has no 
effect on the size of this table once installed. It only affects 
available work space, 

size 

is an integer from 1024 to 16384, or it may be 

specified as nK, where n is an integer from 1 to 16 and K 

represents 1024 bytes. 

If the ADSIZS operand is not coded, or if ADSIZE=1, a value of 4096 
is assumed. 

CMSIZE=size 

specifies the length of the backward connector table, CMAJOR, in 
compiler CSECT, IFEJAB. This is a fixed-size table whose size is 
determined when the compiler is installed. The size of the table 
affects the comoiler* s ability to perform certain optimization 
operations. The table receives backward connector information for 
each block in the source program (a block is a unit of instructions 
under one user or compiler generated label). If this table is too 
small to accommodate all the blocks in a source program, that 

compilation will be affected as follows: 

• No branching optimization will be performed (affects OPTIN>IZE(l» 
and (2) options). 

• No text optimization will L>e performed (affects OPTIMIZE(2) 
option only). 

• Register ODtimization will treat tne entire program as a loop as 
it does for OPTIMIZE(l) (affects OPTIMIZER) option only). 

The result is longer and less efficient object code. The SIZE 
compiler option has no effect on the size of this table once 
installed. It only affects available work space. 

size 

is an integer from 1024 to 65536, or it may be specified as nK, 
where n is an integer from 1 to 65 and K represents 1024 bytes. 

If the ChSlZF operand is not cooed or if CMSIZE=1, a value of 4088 
is assumed. 

Installation Procedures 19 



OBJLIST 

the production of a pseudo- assembler language listing of the object 

program. 

LIST 

specifies that the listing is to be produced. 

NOLI ST 

specifies that the listing is not to be produced. 

If the OBJLIST operand is not coded, NOLIST is assumed. 



OBJ ID 

controls the assignment of internal statement numbers to subroutine 
calls and function references. 

GOSTMT 

specifies that statement numbers are to be assigned, 

NOGOSTMT 

specifies that statement numoers are not to be assigned. 

If the OBJID operand is not coded, NOGOSTMT is assumed. 



OPT 

controls the execution-time optimization of the object modules 
produced by the FORTRAN IV (H Extended) compiler. 



specifies that the object module is not to be optimized. 

1 

specifies that the object module is to receive full register 
assignment and basic program optimization. 

2 

specifies that the object module is to receive full register 
assignment and complete program optimization. 



If the OPT operand is not coded, is assumed. 



SOREDIT 

controls the production of a structured source listing on the data 
set defined by the SYSPRINT DD statement. This listing indicates 
the loop structure and tne j.ogxc;cii uuncniuiuy «-»! Lh^ o«uiuc 
program. 

FORMAT 

specifies that the listing is to be produced. 0PT=2 must be 
specified with FORMAT. 

NOFORMAT 

specifies that the listing is not to be produced. 

If the SOREDIT operand is not coded, NOFORMAT is assumed. 



20 



SORXREF 

controls the production of a cross-reference listing on the data 
set defined by the SYSPRINT DD statement. 

XREF 

specifies that the listing is to be produced. 

NOXREF 

specifies that the listing is not to be produced. 

If the SORXREF operand is not coded, NOXREF is assumed. 

SORALC 

determines whether or not variables in COMMON are to be aligned on 
fullword and doubleword boundries. 

ALC 

specifies that boundary alignment of variables in COMMON is to 
be performed. For example, REAL* 4 and LOGICAL* 4 variables would 
oe aligned on a fullword boundary, and COMPLEX*8 and REAL+8 
variables would be aligned on a doubleword boundary. When 
boundary alignment is specified, gaps may appear in main 
storage. 

NOALC 

specifies that boundary alignment is not to be performed. If 
the SORALC operand is not coded, NOALC is assumed. 

SORANSF 

controls the processing of functions that are IBM extensions to the 
list American National Standard (ANS) FORTRAN functions. 

ANSF 

specifies that the compiler processes, as IBM-supplied, only 
those library and built-in functions that are on the list of ANS 
FORTRAN functions. 

In this case, all non-ANS functions are treated as 
user-supplied and are processed accordingly. See the 
publication IBM System/3 60 and System/ 370 FORTRAN IV Language , 
Order No. GC28-6515 for the list of ANS functions. 

NOANSF 

specifies that the compiler processes, as IBM-supplied, all the 
library and built-in functions that are listed in the 
publication IBM System/3 60 and System/370 FORTRAN IV Language , 
Order No. GC28-6515. It should be noted that the ANS FORTRAN 
functions are a subset of these functions. 

If the SORANSF operand is not coded, NOANSF is assumed. 



Installation Procedures 21 



COMPSYS 

controls execution of the compiler and performs some optimization 
of compile space and time. 

MVT, MFT, TSO 

specify that the compiler will not be executed in a virtual 
storage system. 

VS1, VS2 

specify that the compiler will be executed in a virtual storage 
system. 

CMS 

specifies that the compiler will be executed under the control 
of CMS. 

If the COMPSYS operand is not coded, MVT is assumed. However, under 
CMS, if the FORTRAN macro is not coded, CMS will be the assumed 
option. If the FORTRAN macro is coded, COMPSYS=CMS must be specified. 

COMOVLY 

controls the installation of the compiler and the choice of 
cataloged procedures under OS and VS. 

OVERLAY 

specifies that the compiler is to be link edited into an overlay 
structure. 

NOOVERLAY 

specifies that the compiler is to be link edited without an 
overlay structure. 

If the COMOVLY operand is not coded, OVERLAY is assumed. 

When OVERLAY is specified, the compiler region size in the cataloged 
procedures will be 256K. When NOOVERLAY is specified, the compiler 
region size in the cataloged procedure will be 600K. 

(Note: The COMOVLY option does not apply to CMS.) 

SORTERM 

controls the production of a listing containing only compiler 
statistics and error messages to a terminal data set under CMS. 
Under OS and VS, this listing, which is produced on a data set 
whose ddname is SYSTERM, allows all messages for a FORTRAN batch 
compilation to appear together at the end of the compilation step 
(in addition to being interspersed between each two source 
listings) . 

TERMINAL 

specifies that the listing is to be produced. 

NOTERMINAL 

specifies that the listing is not to be produced. 

If the SORTERM operand is not coded, TERMINAL is assumed. 

SORFLAG 

controls the suppression of diagnostic messages. 

I 

specifies that informational diagnostic messages of level and 
all diagnostic messages of higher level are to be printed. No 
diagnostic messages are to be suppressed. 

22 



E 

specifies that error diagnostic messages of level 8 and all 
diagnostic messages of higher level are to be printed. 
Informational messages (level 0) and warning diagnostic messages 
(level 4) are to be suppressed. 

S 

specifies that severe error diagnostic messages of level 12 and 
unrecoverable error diagnostic messages of level 16 are to be 
printed. Informational messages (level 0) , warning messages 
(level f) , and error diagnostic messages (level 8) , are to be 
suppressed. 

If the SORFLAG operand is not coded, I is assumed. 

COMOPTS 

controls the recognition of the following obsolete options by the 
compiler: 

LOAD NOLOAD EDIT NOEDIT ID NOID 
OPT= LINECNT= SIZE= NAME= TRACE= 

COMPAT 

specifies that the obsolete options are to be recognized. 

(Note: COMPAT may not be specified for the CMS system). 

NOCOMPAT 

specifies that the obsolete options are not to be recognized. 

If the COMOPTS operand is not coded, NOCOMPAT is assumed. 

(Note to OS and VS users : The COMPAT option allows both old and new 
formats of compiler options to be recognized. Installing with the 
NOCOMPAT option will mean that old job control (with the obsolete 
options) will have to be revised to the new format. 

NAME=name specifies the name given to main programs. 

name 

is a string of one to six alphameric characters. This name 
will be used as the CSECT name for a main program only if it is 
the first module in the compilation. 

If the NAME operand is not coded, a name of MAIN is assumed. 

SIZE=size 

specifies the amount of storage the compiler may use. It is used 
to confine the compiler and its work space to a portion of the 
space available and may be necessary if the compiler is invoked by 
another program. If MAX is specified, the compiler will make use 
of all the space available to it. 

size 

is specified as nK, where n is an integer from 150 to 99999 and 
K represents 1 02*5" bytes, or the letters MAX. 

If the SIZE operand is not coded, a value of MAX is assumed. 

INSTERR 

controls the listing of all possible installation error messages 
that can be produced by incorrect coding of the FORTRAN macro 
instruction keyword operands. If the LIST option is specified, the 
compiler will not be installed. 

Installation Procedures 23 



LIST 

specifies that the listing is to be produced. The installation 
process will terminate after producing this listing without 
building a compiler. 

NOLI ST 

specifies that the listing is not to be produced. The 
installation process is to proceed normally if no errors were 
encountered. 

If the INSTERR operand is not coded, NOLIST is assumed. 

The COMDUMP, PERMXL, and TRACE operands are intended for use only by IBM 
personnel responsible for program maintenance. 

COMDUMP 

controls the production of an ABEND dump when an unrecoverable 
error is encountered. 

DUMP 

specifies that a dump is to be produced. 

NODUMP 

specifies that a dump is not to be produced. 

If the DUMP operand is not coded, NODUMP is assumed. 

PERMXL 

controls the ability to compile the FORTRAN modules which make up 
the FORTRAN H Extended compiler. 

XL 

specifies that the internal FORTRAN source modules can be 
compiled. 

NOXL 

specifies that the internal FORTRAN source modules cannot be 
compiled. 

If the PERMXL operand is not coded, NOXL is assumed. 

TRACE=value 

controls the printing of internal compiler information and tables 
during the compilation process. 

v ax lie 

is an integer from to 16777215. The meaning of the values is 
described in the publication IBM System/360 Operation System; 
Program Logic Manual for FORTRAN IV (H Extended) , Order No. 
LY2§-**63. 



24 



LOADING AND RUNNING THE DISTRIBUTION TAPE UNDER OS 

The steps for runninq the distribution tape are as follows: 

Mj Execute your user-written procedure to prepare the system for 
^"^ loading the tape. Runninq the procedure accomplishes the 
following : 

• Places the JCL procedure FORTXDEF into SYSl.PROCLIB. FORTXDEF 
identifies the libraries that will contain the compiler modules 
and the cataloged procedures (SYS1.LINKLIB and SYSl.PROCLIB or 
private libraries!. 

• Places the FORTRANX macro instruction in SYS1 .PPOPTION. 

(2) Issue a START RDR, cuu to load the tape, where cuu specifies the 
channel and unit address of the tape unit containing the 
distribution tape. Running the distribution tape accomplishes the 
following: 

• Checks the coding of the FORTRANX macro instruction for valid 
syntax. See "Appendix C: Installation Messages" for diagnostic 
messages. 

• Assembles the compiler modules that depend on the macro 
instruction. 



• Link edits the FORTRAN IV (H Extended) compiler modules into 
SYS1.LINKLIB or a private linkage library. 

• Adds nine FORTRAN IV (H Extended) cataloged procedures to 
SYSl.PROCLIB, or a user-specified library. 

• Punches a card deck that contains a sample FORTRAN program that 
may be used to test the success of the compiler installation. 

Figure 5 describes the effects of the two steps listed above. The 
numbers in the figure correspond to the numbered steps. 



Installation Procedures 25 



o 




SYS I. PPOPTION 






Figure 5. 



Effects of Running the User-written Procedure and the 
Compiler Distribution Tape Under OS 



RUNNING A SAMPLE FORTRAN PROGRAM TO VERIFY SUCCESS OF THE COMPILER 
INSTALLATION UNDER OS 

The distribution tape procedure punches a sample FORTRAN program that 
can be used to verify the compiler installation. 

The procedure on the distribution tape also punches the JCL required 
*-*-. r^nmniit. link frH*. and execute the sample FORTRAN program. 

The cataloged procedure assumes that the FORTRAN IV Library 
(Mod II) resides on SYS1 .FORTLIB. If it does not, you must include 
with the FORTRAN sample program a SYSLIB DD statement that identifies 
the data set on which the library resides. 



26 



FORTRAN IV (H EXTENDED) COMPILER UNDER VM/370 



REQUIREMENTS FDR COMPILER INSTALLATION UNDER CMS 



For Compiler and PTF Installation 

• A System/370 machine that can support VM/370. 

• An installed release of VM/370. 

• A minimum CMS configuration with storage of 608 K for the compiler 
only. 

• The CMS library CMSLIB containing the extended arithmetic simulator 
routines IEAXPSIM IEAXPALL IEAXPDXR. 

• The distribution tape for the FORTRAN IV (H Extended ) compiler. 



For Compiler Installation Only 

• 542 blocks of unused space on your system (S) disk for the compiler 
(either a 2 314 or the equivalent space on a 3330). 

• Thirty (30) cylinders of unused space on a 2314 or the equivalent 
space on a 3330 for a scrat.cn A disk. 



For P TF In sta llation Only 

• The following CMS files that were installed Dy tne compiler 
distribution tape when the compiler was originally installed: 

IFECMSFT TXTLIE 

I FECKS FT M ACL IB 

I FESTAL EXEC 

IFEOPT EXEC 

IFEGEND EXFC 

1 FES AMP FORTRAN 

IFEHXGEN ASSEMBLE 

IFECMS ASSEMBLE (optionally for reouild) 

Note: The aoove files must oe on disks that have been made available 
through the ACCESS command. 



INSTALLING T4E COMPILER UNDEK CMS 

The compiler installation under CMS consists of the steps listed below. 
See Figure 5.1 at the end of this section for a graphic summary of steps 
5 to 14 of this discussion. 

MJ Mount tne compiler distrubution tape on virtual unit 161. 
MM Log into V1V370 and I PL C*<S. 

Installation Procedures 27 



© 



Issue an ACCESS command assigning the disk that you have selected 
as the scratch A disk. 



© 



Write and file the following EXhC procedure: 



r 1 

edit prime exec 

EDIT; 

input 

INPUT; 

Scontrol cms time 

tape rew 

Serror Sgoto -errt 

tape fsf 

filedef inmove tapl (recfm fb lrecl 80 block 80 change) 

filedef outmove disk cms fort data (recfm f lrecl 80 block 80 change) 

Serror Sgoto -err 

movefile 

cp spool punch to * 

punch cmsfort data (noheader 

read * * 

Sbegtype 

distribution tape is positioned beyond CMS file ready to issue 

ifestal 

Send 

cp spool punch off 

Sexit 

-errt Stype tape move error error exit 

Sexit2 

-err Stype error in move file exit 

Sexitl 

EDIT: 
file 

L . ...... . . ........ .......J 



Note : It is advisable to keep this procedure permanently, in the 
event another installation is to be performed at a future date. 



© 



Type in PRIME to execute the PRIME procedure, which reads file 2 
from the installation tape and makes the following CMS files 
available: 



Filename Filetype Contents 

IFESTAL EXEC installation control prooeuuxc 

IFEOPT EXEC Compiler option macro instruction <IFEAAC 

ASSEMBLE) assembly procedure 

IFEGEND EXEC Compiler build procedure 

IFESAMP FORTRAN Sample program for CMS 

IFEHXGEN ASSEMBLE Source for the FORTRAN macro instruction 

IFECMS ASSEMBLE Source for the compiler CMS interface routine 

IFECMS TEXT Object code for the compiler CMS interface 

routine 



28 



B) Type in IF-cSTAL to execute the iFESTAL procedure, which will issue 
a QUERY coirimand for your terminal and print the following message: 

r ' 

| OPTION TO INSTALL OR REBUILD 

|D0 YOU HAVE ALL NECESSARY FILES ON DISK? 

| IF RESPONSE 'YES' REBUILD 

| IF RESPONSE 'NO' READ INSTALLATION TAPE 

l 



(i) 



® 



If this is to be an installations enter no. If you are installing 
PTFs, enter yes and skip to step @ 

Note : The alternative response cf yes is for use when PTFs are to 
be applied to the compiler or system. When you receive a PTF you 
must remove the OS JCL either by punching out the PTF tape or by 
reading the tape into a CMS tile and using the CMS editor. You 
must then insert the change into the appropriate TXTLIb for use by 
the installation procedure wnen rebuilding the compiler. For ease 
in segregating text decks for PTF installation, you will be 
reguested in step (5) to name two additional macro libraries, which 
will be placed in front of IFECMSFT MACLIB witn a GLOBAL command by 
the installation procedure. In addition, in step @ you will be 
reguested to name two additional text libraries, wmch will be 
placed in front of IFECMSFT TXTLIB by the installation procedure. 



As a check, the IFESTAL procedure will type the following message 
at your terminal: 

r 

|IS FORTRAN DISTRIBUTION TAPE MOUNTED ON VIR1UAL TAPE UNIT 181? 

| HAS THE CMS FILE BEEN READ OFF DISTRIBUTION TAPE? 

| IS DISTRIBUTION TAPE POSITIONED AFTER CMS FILE? 

| INSTALLATION OF 5734 F03 FORTRAN IV H EXT 

| WHEN READY ENTER 'GO' OTHERWISE ENTER ' NOGO* 

L J 

If the answer to the above guestions is yes, enter go. If you have 
not done the items listed, enter nogo ; do what is required, and 
re-execute the IFESTAL procedure. 



During the installation of the compiler, the IFESTAL procedure types 
the following message at your terminal: 

r 1 

I DO YOU WISH TO ASSEMBLE INTERFACE I 

I RESPOND 'YES 1 OR 'NO* ON TERMINAL I 



If you want the interface assembled, enter yes ; the interface 
routine will be assembled, an IFECMS TEXT file will be created, and 
a listing produced. If you answer no, the procedure checks to see 
that the compiler interface routine, IFECMS TEXT, is available. 
If it is not, the interface routine will be assembled; if it is 
available, no new IFECMS TEXT file or listing will be produced. 

During the installation of a PTF, this check is omitted and the 
message, shown above, does not appear. 

Note : If you wish to force the assembly of the interface routine 
you must first erase an existing IFECMS TEXT file. 



Installation Procedures 29 



MO) To provide a facility for segregating text decks (refer to step 
Q) ) during the installation of PTFs, the installation procedure 
will type the following message at your terminal': 

r t 

| ENTER CR 1 OR 2 MACLIB NAMES j 

L j 

If you do not want any additional MACLIBs, hit the RETURN key @ . 
If you want additional MACLIBs enter one or two names that will be 
used as the filename for the additional MACLIBs. They will be 
placed before the IFECMSFT MACLIB with a GLOBAL command issued by 
the installation procedure. 

Q\j The IFESTAL procedure will continue processing and execute the 
^""^ IFEOPT procedure, which will type the following message at your 
terminal : 



t 



| IF IFEHXGEN ASSEMBLE IS AS DESIRED FOR OPTIONS ENTER 'NOEDIT' 

| IF YOU WISH TO EDIT THE OPTIONS STATEMENT THAT EXISTS ENTER 

| • EDIT* 

| TO EXIT THE CMS EDITOR YOU MUST ENTER CARRIAGE RETURN AND 'FILE' 

| AFTER THE OPTIONS HAVE BEEN ENTERED 

| TO EXIT INSTALL PROCEDURE IN CASE OF ERROR 1YPE IN 'HALT' 

L 

See the section "Coding the FORTRANX Macro Instruction" for an 
explanation of the IBM-supplied default options. If all the 
defaults shown there are acceptable without any changes, type 
noedit and skip to step @ . If you want to change any of the 
IBM supplied defaults, tyoe edit and go on tc step @ . 

®The IFEOPT procedure will type the following list of IBM-supplied 
compiler option defaults: 

r — ———-—•— ———————— — — — — — — — — ...—.—........... 

* H EXT FORTRAN COMPILER OPTIONS DEFAULTS SHOWN 
FORTRANX PUNCH=NODECK,SORLIST=SOURCE , STORMAP=NOMAP , 
OB JPROG=OB JECT , SORCODE=EBCDIC , LINECNT=6 , 
OBJLIST=NOLIST ,OPT=0 ,SOREDIT=NOFORMAT , 
SORXREF=NOXREF , OB JID=NOGOSTMT , 
SORALC=NOALC , SORANSF=NOANSF , 
NAME=MAIN , SORFLAG=I ,SORTERM=TERMINAL, 
COMPSYS=CMS,ADSIZE=4K,CMSIZE=40 88,SIZE=MAX, 
COMOPTS=NOCOMPAT , INSTERR=NOLIST , 
COMDUMP=NODUMP ,PERMXL=NOXL,TRACE=0 
*ENTER II EXT FORTRAN OPTIONS DESIRED 
i.«... . ...... ._......__-.- .— ... ...—............J 

To change any of the defaults, type in the FORTRANX macro, following 
the conventions for editing a file with a filetype of ASSEMBLE. 

Q If the macro which you are about to type in contains 
continuation lines then do the following: 

Hit the RETURN key 
Type: TRUNC 72 
Type : INPUT 

(The system is now ready to accept your macro with 
continuation characters in column 72) . 

30 



13 



Press the space Dar to position the carrier at the beginning 
of the operation field.' (At least one blank is required 
before the operation field.) 

Type in the macro name FORTRANX and each keyword operand to 
be changed together with its new default value. 

Note: COMPSYS=CMS must be specified. 

If the number of options to be changed requires a continuation 
line, type in a character as a continuation indicator in column 
72 (count from the left hand margin indicator), and continue 

j i __ j_i_„ ^_^.^ ^_-. t~^~i ~^ -i * ~ i* ^.^i .,__ 1 c *-c j_u <-. r«i n -. .: 

uy^JXiivj mc ujJLJLUiio ucyxuiimy xn <_<_ixuiun xu v^i. unc luiiuwinvj 

line. 

After all changes have been made, hit the RETURN key ( @ > 
twice and issue the FILE subcommand. 



Installation Procedures 31 



Example : 



| (MS fortranx stormap=map,sorxref=xref 

I© 

|3DIT: 

|file 

L 



M3) To provide a facility for segregating text decks (refer to step Q) 
^-^ for more information) during the installation of PTFs, tne 

installation procedure will type the following message at your 

terminal : 



i 



(ENTER CH 1 OR 2 TXTLIB NAMES | 

L J 

If you do not want any additional TXTLIBs, hit the RETURN key, 
@ . If you want additional TXTLIBs enter one or two names that 
will be used as the filename for the additional TXTLIBs. They will 
be placed before the IFECMSFT TXTLIB with a GLOBAL command issued 
by the installation procedure. 

M4J The procedure will continue processing until the installation of 
^"^^ the compiler and interface on the scratch disk is complete. It 
will compile the FORTRAN sample program, IFESAMP FORTRAN, and 
produce a listing, off-line, that contains the IFESAMP LISTING file 
that was produced for the sample program. You may verify the 
success of the compiler installation £>y reguesting that this 
LISTING file be printed. The contents of this file are determined 
by the option you selected in step @ . The source program thus 
obtained should correspond to the program shown in Figure 15. 

u5J To move the compiler from the scratch system disk to your actual 
^"^ system disk, issue the following commands assuming that 191 is the 
scratch disk and 190 is the system disk. 

r t 

| access 191 b 

|access 190 a 

| copy forthx module b2 = = a2 

| copy ieaxpsim module b2 = = a2 

| copy ieaxpall module b2 = = a2 

| copy ieaxpdxr module b2 = = a2 

| copy ifeaab module b2 - = a2 

I /-nrvir ifpafr mor1nl<=> b2 = = a 2 

| copy ifeatm module b2 = = a2 



L. 



Note : You may save the contents of the scratch disk for your 
archives or to rebuild the compiler at a later date. 

Figure 5.1 graphically summarizes steps 5 through 1 4 of the procedure 
described above. 



32 



* Install " ext conptler 

* tape 1 SI has Install tape mounted 

* Hist' a has one *I1p prlnp pxec f or readln/r In ons 'lie 

n<s 

n disk a 

A (391): 1 FHF; 10 PFO I v USF, 7qPfi I FFT (of 717f), Of- FULL (30 CYI.), 3330, R/W 

P; 

tape rpw 



10:2F:19 TAPF RFW 
10:2F:21 TAPF FSF 

10:2F:22 FM.FPFF IMf'OVE TAP1 ( RFOFr FB LREOL 80 RI.PTK fiO CHANRE ) 
10:2f. :2R FIIFrFF ODTf'.OVF PISK OPSFOPT P-ATA ( Bl OCK R0 I RFfL P0 RFCFf' F CHANGE ) 
10:2fi:35 MOVFFIIF 
♦♦10:27:03 CP SPOOL PVVCV TO * 
10t 27: OF PIIMr.H OHSFOPT P-ATA ( NnHFAPFP. 
♦PUf! FII.F 01R0 TO MF72JAOP 
10:27:13 RFAP * * 

:RFAO IFFOFfi^ FXFO Al FOPTPA 10/20/12 12:3?. 
:RFAr IFFSTAI FXFO Al FORTPA 10/05/72 10:22. 
:RFAr> IFFOPT FXFP Al FORTRA 10/05/72 10:15. 
:PFAP IFF.Cf'S ASSFMRt.F Al FOPTRA 10/2U/72 1F:21. 
:PFAP IFFJ'XOFM ASSFMRI E Al FOPTRA f/16/72 lfi:Ufi. 
:RFAP IFFOI'S TFXT Al FOPTP.A 10/2U/1? 16:23. 
:PFAP IFFSAMP CORTPAN Al FOPTRA R/2U/72 l«i :00. 

P I ST" I BUT I OM TAPF IS POSITIOf'EP PFYPNP Of'S FIIF PFAT TO ISSt'F XXXSTAL 
10:27:50 CP SPOOL Pllf'CH OFF 

p ; 

snnol printer cont 

P; 

* cms file Has Seen rea^ in ready to Issue Ifestall to Install h ext connller 



Figure 5.1. Procedure for Installing the Compiler under CMS 
(Part 1 of 4) 



Installation Procedures 33 



ssue If^stal 



001:08.lt7 



lfpstal 

10:70:21 n TIMF 

TIMF IS 10:29:23 FST THURSDAY 05/3P/7U 

rnfNFCT" 00 : ?F:F7 VIRTTPl'- 000;1U.R2 TPTCPH* 

10:20:2U n TFPfMfAl 

UfFNP # , IINFPFI * , PMAPPFI. , FSCAPF " 

IINESIZF 129, f'ASK OFF, API. OFF, ATTN Of! 

OPTIPf TP IfSTALl OP PFRIUIP 

no. YPII HAVF Al.l NFCFSSAPY FII.FS Of P»SK? 

IF PFSPOMSF. 'VF.R» RFRPM.P 

IF RFSPOMSF 'HO' PFAP I fSTAI.I.AT! Of TAPF 

no 

IS FPPTHAf) PISTRRHTIPf TAPF fOllfTFP Of VIPTI'AI TAPF UNIT 1R1? 

MAS TWF Pf'S FMF RFFN PFAP OFF PI STP I RI'TI OH TAPF? 

IS PISTPIRHTIOf TAPF -POSITIONFP AFTFP CMS FIIF? 

if'STALIATIOf OF 573U F03 FOPTPAH IV M FXT OPMPM.FP 

H'FN RFAPY FMTFP TO« OTHFPW1SF FNTFP 'MOOO 1 

r,o 

10:30:70 FIIFPPF I MMOVF TAP1 ( RIOCK RO I PFCL «0 PfW FB ) 

10:30:2f FMFPFF OI'TMOVF PISK IFFH'SFT MACRO ( PFCFf F Rl PPK 

10:30:32 f'OVFrilE 

♦10:30:U0 Fit FPFF IfMOVF 

10:30 : l»F FM FPFF OIJTfOVF 

10:30:52 I'OVFFHF 

***«:<««10:31:l»3 TAPF FSF 

10:31:1*5 FM FPFF OUTMOVF 

10:31:52 fOVFFII.F 

10:31:5U TAPF PFW 



TAP1 
PISK 



*P I PFCL RO CMANPC ) 



( PFCFf FR I.PFPL KO Rl PPK 3200 CHANGE ) 

IFFCfSFT TFXT ( PFCFf F RI.PCK fiO LPFCL *0 CHANOF ) 



PISK IFF.CMSFT FOPTPAf.'-( PFCTM F LRFCl. RO RIOCK *0 CHANRF > 



10:32:19 f-'APUP. OFN IFFH'SFT IFFCI'SFT 

10:32:77 TXTI.IR PFf IFFCf'SFT IFFCfSFT 

««;«*«*««*RFfilH. BIUI.P OF H FXT COMPIIFP 

TO YOf WISH TO ASSFfBIF IfTFPFACF 

RFSPOMP 'YFS' OP 'MP' Of TFPflfAL 

no 

10:33:UF STATF IFFCfS TFXT Al 

10:33:UR FXEC IFFOPT 

FMTFP OP 1 OP 7 f'APIIR fAf'FS 

10:33:57 n.PRAI. MAPI IR IFFPfSFT CfSIIP OSfAPPP 

IF IfFI'XOFN ASSFf'RI.E 'S AS PFSIPFP FOR OPTIOfS FMTFP 'MOFPIT' 

IF YPU WIS'' TO FPIT THF OPTIOfS STATFf'FfT THAT FXISTS FNTFP 'FPIT' 

TO FXIT THF Of'S FPITnp YOU MUST FNTFP CAPPIAOE RETURN ANP 'FIIF* AFTER 

T»?E OPTIONS HAVF BFFf FNTFPFP 

TP FXIT IfSTAI.I. PPOPFPHPF If P.ASF OF FRPPR TYPF If 'HALT* 



Figure 5.1. 



Procedure for Installing the Compiler under CMS 
(Part 2 of 4) 



34 



rriT: 

* H FXT FORTRAN CIPHER OPTIOMS PFFAIILTS SHOWN 
FPPTR*N PtlNCM*NPPErK,SOPLIST-SOUPrE,STORMAP-NOMAP, 

oRiJprpp»PR.iFCT / sopropE-FRCPiP,LiNECNT"f;o, 

ORJI.IST-MOI IST,OPT»0,SOPEPIT»NOFORMAT, 

SORXPEF=NOXRFF,ORJIP-NOOOSTMT 

SOPAI.C»NOALr,sbRANSF«NPANSF, 

NAM r -MAIN,SORFIAn«l,rORTERM*TEP.M|NAL, 

OOMPSYS-PMS, APS I ZF"UK,PNS I zf-uopr, SIZE-MAX, 

rONOPTSsNOPONPAT^NSTERR-NOLIST, 

COfPilMP-NOPHMP, PFRMXI.«NOyL,TPAnF.«0 

* ENTER M FXT FORTRAN OPTIONS PFSIREP 

If'PI'T: 
fortran pnnch»noHf»c'' / sor1 i st»nosource. 

rriT: 
ft 1p 
**l 
ASSENT.! Er (F) rOt'r 



NO STATEMENTS FIAPOFP IN THIS ASSFMRI Y 
10:17:35 EXFP IFEPENP 
ENTFP CP 1 OP 2 TXTLIR MANES 

10:37:1*1 OLPRAL TXTI.IR IFFPNSFT Of'SI IR 

10:37:l*U I.OAP IFAXPSIN ( 01 FAR ) 

10:37:1*7 OFNMOP IFAXPSIN MOPI'LE A2 ( NOSTR ) 

10:37:51 PRINT LOAP MAP 

10:37:53 I.OAn IFAXPPXR ( OLEAP ) 

10:37:50 PENMOP IFAXPnyp MOPIU.E A2 ( NOSTR ) 

10:3S:03 PRINT LOAP MAP 

10:3R:05 LOAP IFAXPAIL ( H FAR ) 

10:3R:0P OENMOP IFAXPALL MOPIM F A2 ( NOSTR ) 

10:3R:12 l"0LNPE IFFPMS ( OLEAP RESET 1 FFCMS ) 

10:3R:1F OFNNOP FOPTMX MOPDI F A2 ( NOSTR MAP FPON IFFPMS ) 

10:3R:21 IN0I.HPF IFEAAC ( OLEAP ) 

10:38:21* INOLHPF IFFAAR ( RFSET I FFAAR ) 

10:30 : 0R PFNMOP IFFAAR NPPUI F A2 ( STR NONAP FROM IFFAAC ) 

10:30:20 PFNAMF I.OAH MAP A5 I OAPFR MAP A5 

10:30:23 LOAP IFAXPSIM 

10:30:2R I.PAPMOP IFFAAR 

10:30:3F FRASF LOAP MAP 

10:30:38 RENAMF LOAPER MAP A5 LOAP MAP A5 

10:3O:U2 PTLI'PE IFFATM ( OLEAP RFSFT I FFATN ) 

10:30:l*fi PENMOP IFFATM MOPNI.E A2 ( STR NOMAP FROM IFEATN ) 

10:30:51 INCI.UPF I FEATO ( OLEAP PFSFT IFEATO ) 

10:30:55 OFNMOP IFFATO MOPI'I E A2 ( STR NONAP FROM I FEATR ) 

10:1*0:00 PRINT LOAP MAP 

10:1*0:02 ERASE LOAP MAP 



Figure 5.1. Procedure for Installing the Compiler under CMS 
(Part 3 of 4) 



Installation Procedures 35 



cnrPii E sampi f pptpi rr 
in : uo : nf fopthx iFr r ,Afp 

FORTRAN 'I EXTFNPFP fn('P|iFP FUTFPFP 
♦ STATISTITS* Sni'PPF T.TATFf'FVTS = 

♦statistics* no piaonostips hfnfpatfp 



in, PROGRAM STZF 



****** fnp OF POf'PI I ATlPf ****** 

10 : uo : l»l prif'T IFFSATP IISTINfi 

1 D : U n : It U FRASF IFFSAt'P I.ISTH'O 

in:UP:U7 FPASF IFFSAMP TFXT 

If'STALl. HF 't FXT COMPLETE SAMPLE JOB PRINTER OFFItt'F 



3in, SUBPSccPAr wr • main 



373K BYTES OF COPE NOT USED 



* Install 


atlon conplpt 


Rrf 












1 * * al 


( Hate 
















FM FNAf'F 


FM ETYPE 


FN 


FORMAT 


RFPS 


RIPPKS 


PATF 


TUT 


PRIME 


EXEP 


Al 


F 


an 


31 


li 


5/30/7U 


10:2U 


Pf'SFORT 


PATA 


Al 


F 


an 


I5fa 


157 


5/3P/7U 


10:27 


IFFPFNr 


F.XFP 


Al 


F 


so 


ito 


U 


5/30/7U 


10:27 


IFFSTAI 


EXEC 


Al 


F 


an 


1U7 


15 


5/30/7U 


10:27 


IFFOPT 


FXFP 


Al 


F 


an 


fi r » 


7 


5/30/7«i 


10:27 


IFFCMS 


ASSENRI.E 


Al 


F 


so 


ilia 


120 


5/30/7U 


10:27 


IFFI'XOEN 


ASSFMBLF 


Al 


F 


PO 


a 


1 


5/30/711 


10:27 


IFFPMSFT 


TXTI.IB 


Al 


F 


an 


qnis 


902 


5/30/71) 


10:37 


IFFSAMP 


FORTRAN 


Al 


F 


an 


11 


2 


5/30/7U 


10:27 


1FFPMSFT 


MACRO 


Al 


F 


an 


373 


3a 


5/30/7U 


10:30 


IFFCMSFT 


TEXT 


Al 


F 


an 


aaia 


a<io 


5/30/7U 


10:31 


IFFPNSFT 


FORTRAN 


Al 


F 


an 


55 


6 


5/30/7h 


10:31 


IFFPNSFT 

P; 


MAPI IB 


Al 


F 


an 


37U 


3a 


5/30/7U 


10:37 


1 * morfu 


le al02 ( 


Hate 














Fl! ENAMF 


F1I FTYPF 


fn 


FORNAT 


PFfS 


BIOPKS 


PATE 


THE 


IFAXPSIM 


MOPt'l.E 


A2 


V 


an 


3 


1 


5/30/7* 


10:57 


IFAXPPXR 


MOPIM.F 


A2 


V 


n*n 


3 


2 


5/30/7«t 


10:37 


IFFATP 


MPPIM F 


A2 


V 


3a7? 


2 


5 


5/30/71. 


10:39 


IFAXPAIL 


MOPIM.F 


A2 


V 


276n 


3 


it 


5/30/7U 


10:3R 


FPRTHX 


MOPIM.F. 


A2 


V 


sunn 


3 


a 


5/30/7U 


10:38 


IFFAAR 


MOPIM.F 


A? 


V 


65535 


a 


530 


5/3n/7«t 


10:39 


i\* 


MOPIM.F 


A? 


V 


?57fi 


2 


It 


5/30/7lt 


10:39 



* move all files of type rortule to system Hlsk to complete Installation 
spool printer nocont 

close printer 

* spooler! printer contlnuos at start of Installation 

* now ^et offline output printer! 



Figure 5.1. 



Procedure for Installing the Compiler under CMS 
(Part 4 of 4) 



36 



FORTRAN IV LIBRARY ( HOD II j__aNDER_OS 



FORMAT OF THE FORTRAN IV LIBRARY I MOD II) DISTRIBUTION TAPE 



Figure 6 describes the format of the distribution tape. 



File No. 


Contents 




| RECFM 


LRECL 


BLKSIZE 


1 


OS JCL 




| FB 


80 


80 


2 


CMS EXEC Procedure 




I FB 


80 


80 


3 


FORTLIB Options Macro 




| FB 


80 


80 


u 


Library Object (TEXT) Modules 


| FB 


80 


3200 


5 


Non-Extended Error Handl 
Object (TEXT) Modules 


ing 


| FB 


80 


3200 


6 


Extended Error Handling 
Object (TEXT) Modules 




j FB 


80 


3200 


7 


STAE 




| Fb 


80 


3200 


8 


ADJST 




| FB 


80 


3200 


9 


OS FORTRAN Sample Job 




| FB 


80 


3200 


10 


EXCLUDE 




| FB 


80 


3200 



L J. X J 

Figure 6. Files on the FORTRAN IV Library (Mod II) Distribution Tape 



REQUIREMENTS FOR LIBRARY INSTALLATION UNDER OS 



You must have the following: 

• A System/360 or System/37 machine that can support the OS/MFT (with 
the ATTACH option), OS/MVT or OS/VS environments. 

• The distribution tape for the FORTRAN IV Library (Mod II). 

• 176K bytes of main storage for processing the library distribution 
tape. 

• An installed Release 20 or subsequent releases of OS or a release of 
OS/VS. (OS Release 19 users see the section "Compiler and Library 
Installation for OS Release 19 Users, " for specific requirements. > 

• Space available on SYS1.LINKLIB or a private linkage library for the 
IHOSTAE, IHOIOSUB, and IHOQERF2 modules. 

Note: If boundary alignment is requested in the FORTLIB macro 
instruction, the IHOADJST module is included on SYS1.LINKLIB or a 
private library. See Table 3 in the "Storage Estimates" section for 
the storage required by SYS1. LINKLIB. 



Installation Procedures 37 



• Space available for the SYS1.F0RTLIB data set or a private library, 
which will contain the remainder of the Mod II Library modules (see 
Table 3 in the "Storage Estimates" section for SYS1. FORTLIB storage 
requirements) . 

• 130 queue records for the system initiator/terminator. 

Note : The number of queue records is determined at system 
generation time by the JOBQLMT parameter in the SCHEDULR macro 
instruction. If the value specified for JOBQLMT was less than 130, 
it must be raised to 130 during an initial program load (IPL) prior 
to installing the library. During the IPL, the operator must reply 
to the message : 

id IEF423A SPECIFY JOB QUEUE PARAMETERS 
with the following: 

REPLY id, •,130* 
This reply is given in addition to any others that may be requested. 

• The IEBUPDTE and IEHPROGM utility programs. 



OVERVIEW OF THE LIBRARY INSTALLATION PROCEDURE UNDER OS 
Library installation consists of the following steps: 

1. Coding a user- written procedure to prepare the system for loading 
the library distribution tape. 

2. Coding the FORTLIB macro instruction. 

3. Loading and running the user- written procedure and the library 

uj.auiiuui.iOit Ldpo 

1. Running a sample FORTRAN program to verify the success of the 
library installation. 

Figure 7 illustrates the overall installation procedure. The steps 
for installing the library are discussed in detail in the following 
paragraphs. 



38 



An IBM SYSTEM/360 
or IBM SYSTEM/370 
►hat suppor+s 
MFT or MVT 





SYS V. FORTLIB SYS 1. LINKUB 



H 



C\J Execute the pr 

©loading the li 
Issue a START 
channel gj^d u w 
©distribution t 
Loading tne di 
SYS1. FORTLIB a 

©libraries. 
The distributi 
FORTLIB update 
Verify the Sue 

®on usinq these 
A listina is p 
procedure, the 
listinq, error 
library. 



ocedure you have written to prepare the system for 

orary distribution tape. 

RDR,cuu to load the tape, where cuu specifies the 

■i +■ a^/9rooc rsf 4- lit-. 4-a r\£± ni-i-i +• ^nnfai ni nn 4- ho 

ape. 

stribution tape places the Mod II Library into 

nd four modules into SYS1. LIWKLIB, or private 

on tape procedure punches a sample program and a 
deck (see "Running a Sample FORTRAN Program to 

cess of the Library Installation" for information 
decks! . 

rinted that contains the system preparation 
distribution tape run, the FOPTLIB macro assembly 
messages, and a linkage editor map for the 



Figure 7. FORTkAN IV Library (Mod II) Installation Under OS 



Installation Procedures 39 



INSTALLING THE LIBRARY UNDER 03 



CODING A USER-WRITTEN PROCEDURE 
LIBRARY DISTRIBUTION TAPE 



TO PkEPARE THE SYSTEM FOR LOADING THE 



Before you can run the library distrioution tape, you roust prepare a 
card deck containing a 2-step iob. The first step places into 
SYS1.PR0CLIB a cataloqed JCL procedure that identifies the subprogram 
and linkaqe libraries that will contain the Mod II Library. The second 
step specifies the fcod II Library options that are to be installed using 
the FORTLIB macro instruction. 

Figure 8 illustrates the 2-step joo that is required to prepare the 
system for installing the library. The lettered statements contain 
fields (shown in lower case) that you must code based on the facilities 
available at your installation. 







&4 



/LIB JOB 
| //STEP A 
I//SYSPRINT 
J//SYSUT1 
J//SYSUT2 
I//SYSIN 

I-/ 

| //STEPABC 
//SYSPRINT 
V/PPLINK 
■//PPFORT 

I// 
|//SYS1N 

1./ 
\/* 
|//STEPB 

//SYSPRINT 

k //DDl 
|// 
I// 
I// 

•/SYSUT2 
I// 
I// 
I 
| //SYSIN 

1./ 



I./ 

I/* 
L 

Figure 8. 



JOB 

EXEC 

DD 

DD 

DD 

DD 

ADD 

EXEC 

DD 

DD 

DD 

DD 
ENDUP 

EXEC 

DD 
DD 



DD 



DD 
ADD 

-FORTLIB 
END 

ENUUF 



accounting information, MSGLEVEL= 11,1) 

PGfo=IF3UPDTE, PARM=MOD 

SYSOUT=A 

DSN=SYS1. PROCLIB, DISP=OLD 

DSN=SYS1. PROCLIB, DISP=OLD 

DATA 

NAME=PPMODTWO 

PGM=IEhPROGN 

SYSOUT=A 

DSN=linkage library name, DISP=( OLD, PASS* 

DSN= subprogram library name, 

DISP= (OLD, PASS! 

DUMfcY 



PGM=1EBUPDTE, PARM=NFW 

SYSOUT=A 

DSN=subprogram library name, 

DISP=( NEW, PASS), 

UNIT=unit, VOL=SER=volurae serial number, 

SPACE=tTRK, (tracks required, (directory 

records ) ) 

DSN=SYS1. PPOPTION, DISP= (NEW, CATLG) 

UNlT=unit, VOL=SER=volume serial number, 

SPACE=(TRK, (tracks required, , directory 

records ) ) 

* 

NAME= FORTLIB, LIST=ALL 

ODerand 1, operand 2, operand 3,... 



User-written Procedure for Mod II Library Installation 



40 



An explanation of the lettered statements in Figure 8 follows: 

Supply any accounting information that your installation requires, 

IS Insert the narre of the linkage library on which the library modules 
i dvrt DJST, j.riwx OSIjnj, iriOQu^r z , anci irivjoTAii, wiii rcaiQi? icitfifr 
SYSl. LINKLIB or a private library). If the library you choose is 
not cataloged, add to this statement the unit and volume serial 
numoer on which it resides. 

Note; If you are using a private library, you may concatenate it 
with SYS1. LINKLIB at initial program load (1PL) time or you may 
include in the JCL of any FOkTRAN program that will use the Mod II 
Library, a JOELIB or STEPLIB DD statement that describes the 
private library on which the Mod II Library resides. See the "Link 
Library List" section for information on concatenating data sets 
with SYS1. LINKLIB or the publication IBM System /360 Ope ratin g 
System J o b Contr o l Language Keference , Order No. GC2H-b704, for 
information on using the JOBLIB or STBPLIB statements. 

Insert the name of the subprogram library on which the Mod II 
Library will reside (either SYS1. FORTLIB or a private library!. If 
you are using a private library, add to this statement the unit and 
volume serial numoer on which it resides. You may name your 
private library SYSl. FORTLIB; however, an existing SYS1. FORTLIB may 
not reside on the same volume as the new SYSl* FORTLIB. When you 
run a FORTRAN program that requires the Mod II Library, you must 
uncatalog the SYSl. FORTLIB you do not want to use. 

Note : The FORTKAN IV (H Extended) cataloged procedures assume that 
the Mod II Library resides on SYSl. FORTLIB. If it does not, you 
must include in the JCL of any FORTRAN program that uses the Mod II 
Library, a JOBLIB or STFPLIB DD statement that describes the 
private library on which the Mod II Library resides. See the 
publication IBM System/ 3 b0 Operating System Job Control Language 
Reference , Order No. GC28-670U, for information on using the JOBLIB 
or STEPLIB statements. 

|M To allocate space for your subprogram library, indicate the library 
^™ name (same as in C , above), the direct-access unit, and volume 
serial number on which it will reside. Using Table 3 in the 
"Storage Estimates" section, determine the number of tracks 
required by your device for SYSl. FORTLIB. 

Note : If an old SYSl. FORTLIB data set already exists in your 
system, before starting the distribution tape procedure, the data 
set must be uncataloged and located on a volume other than the one 
on which the new SYSl. FORTLIB will reside. 

To allocate space for the SYSl. PPOPTION data set, indicate the 
direct-access unit and volume serial number on which it will 
reside. Using Table 3 in the "Storage Estimates" section, 
determine the number of tracks and directory records required by 
your device for SYSl. PPOPTION. 

Note ; If a SYS1 .PPOPTION data set already exists in your system, 
the STEPB SYSUT2 DD statement must be replaced by: 

//SYSUT2 DD DSN=SYS1. PPOPTION, DISP=OLD 

Code the FORTLIB macro instruction, specifying the defaults you 
wish to install as system defaults for the Mod II Library. See the 
section "Coding the FORTLIB Macro Instruction" for more detailed 
information. 

Installation Procedures 41 



CODING THE FORTLIB MACRO INSTRUCTION 

The FORTLIB macro instruction specifies input/output routine defaults, 
boundary alignment inclusion, and extended error handling option table 
information for the FORTRAN IV Library (Mod II). 

The Med II Library object-time input/output routines require 
information on the number of logical input/output units that are 
available to the system. The UNTABLE operand provides this information. 
These routines also require that defaults be established for the logical 
input/output units to be used for READ (on-line) statements, PUNCH 
(on-line) statements, error messages, and dumps. The ONLNRD, OBJERR, 
and ONLNPCH operands establish the default data- set reference numbers to 
be used. The FORTRAN programmer using the library may use these 
defaults and does not need to supply a DD statement for these data sets, 
for example, if the FORTLIB macro instruction were coded as follows: 

FORTLIB UNTABLE=25, 0NLNRD=15, 0BJERR=16, 0NLNPCH=17 

The following defaults would be established: 

• Logical input/output units available - 25 

• Logical input/output unit for READ statements - 15 

• Logical input/output unit for error messages and dumps - 16 

• Logical input/output unit for PUNCH statements - 17 

A boundary alignment routine may be included in tne Mod II Library. 
This routine corrects boundary alignment violations during object-time 
for variables in COMMON blocks and EQUIVALENCE groups and allows 
processing to continue. The BOUNDRY operand specifies whether the 
boundary alignment routine is to be included in the Mod II Library. 

The extended error handling facility supplies the FORTRAN programmer 
with data-dependent or program errors that are detected during execution 
of his program. The OPTERR operand specifies whether the extended error 
handling facility will oe added to tne Mod II Library. Ihe ADDNTRY 
operand indicates the number of user-defined and detected error 
conditions tnat are to be added to tne standard extended error handling 
facility option table. 

If ail tne operand defaults are desired, code the FORTLIB macro 
instruction without specifying any operands, as follows: 

FORTLIB 

In this case, all the underlined values in Fiuure 9 will be 
established as defaults for the library routines. The following 
paragrapns describe in detail the FORI Lid macro keyword operands and 
their respective oarameters. 

Code the FORTLIt macro instruction specifying any of the keyword 
operands listed in Figure 9. 

42 



Name 



h- 



Operation 
FORTLIB 



Keyword Operands and Parameters 

(06 ') 

number ) 

,05 
ONLNRD= 

OBJERR= 

ONLNPCH 



UNTABLE= 



BOUND RY= 



OPTERR= 



ADDNTRY= 




(exclude 
(include 



number. 



Note: All operands are optional; wnere a list of parameters is shown 
within braces, only one may be chosen. The underlined parameters are 
the defaults. Any number of operands may be chosen. When coding, 
column 1 must be blank. The FORTLIb may appear anywhere before column 
72, but it must orecede the ooerands by at least one blank. The 
operands are separated by commas and may be continued on any number of 
cards as long as column 72 contains a nonblank character and the 
following cards begin in column lb. 

i 

Figure 9. Format cf the FORTLIB t'acro Instruction 



The FORTLIB macro instruction keyword operands are descriDed in the 
following paragraohs. 

UNTABLE=number 

specifies the numoer of FORTRAN logical input/output units to be 
used at object-time. Ihis number does not necessarily correspcnci 
to the number of input/output devices available to the 
installation's 3ystem/3b0 or ?ystem/370 machines. 

number 

is a two-digit integer from 08 to 99. 

If the UNTABLE operand is not coded, a value of OP is assumed. 



Installation Procedures 43 



CNLNRD 

specifies which t'ORTPA-J logical input/output unit is tc be used 
when the R£.A~; (on-line) stateFent is encountered in a FORTRAN 
source orograri. The number specified must net exceed to value 
specified for trie UNI ABLE operand, and cannot oe the same as the 
value specified for the OBJERR and ONLNPCH operands. 

unit 

is a two- digit decimal number from 01 tc 99. 

If the ONLNRD operand is not coded, a value of 05 is assumed. 



OBJERR 

specifies which FORTRAN logical input/output unit is to be used for 
object-time error messages and FORTRAN dumps. The number specified 
cannot exceed the value specified for the UNTABLE operand, and 
cannot be the same as the values specified for the ONLNRD and 
ONLNPCH operands. 

unit 

is a two-digit decimal number from 01 to 99. 

If the OBJERR operand is not coded, a value of 06 is assumed. 



ONLNPCH 

specifies which FORTRAN logical input/output unit is to be used 
when the PUNCH (on-line) statement is encountered in a FORTRAN 
source program. The number specified cannot exceed the value 
specified for the UNTABLE operand, cannot be the same as the values 
specified for the OBJERR and ONLNRD operands. 

unit 

is a two-digit decimal number from 01 to 99. 

If the ONLNPCH operand is not coded, a value of 07 is assumed. 



BOUNDRY 

controls the inclusion of the execution- time boundary alignment 
routine in SYSl. LINKLIB. 

ALIGN 

specifies that the routine is included. 

NOALIGN 

specifies that the routine is not included. 

If the BOUNDRY operand is not coded, ALIGN is assumed. The NOALIGN 
operand should be specified for System/360 Model 85 and 195 
machines. Under CMS, the default is NOALIGN. 



GPTERR 

controls the type of object-time error message facility to be 
generated. 

EXCLUDE 

specifies that minimum error service and the termination of the 
job when an error is detected. 

44 



INCLUDE 

specifies that complete error service and continuation of the 
job after an object-time error is detected (dynamic and default 
control is provided for each error condition). 

If the OPTFRR operand is not coded, EXCLUDE is assumed. 



ADDNTRY 

specifies the number of option table entries to be generated in 
addition to the required number. The option table for the Extended 
Error Handling facility has an 8-byte entry for each IBM-designated 
error condition. An additional 8-byte entry snould be added for 
each additional error condition to be installed. This operand is 
valid if, and only if, OPTERr=I NCLUDE is specified. 

number 

in -. A ^**~ A ~. -* 1 — ... i — r: — ~ — r, Art ±_ rrto 

j.o a tutr^xiiici j. liuiiiDtri. .la uiu uw lu j^fi 

If the ADDNTRY operand is not coded, a value of 000 is assumed. 



LOADING AND RUNNING THE USER-WRITTEN PROCEDURE AND THE LIBRARY 
DISTRIBUTION TAPE UNDER OS 



To run the library distribution tape you must do the following: 



© 



Execute the user-written procedure to prepare the system for 
loading the distribution tape. Running the procedure accomplishes 
the following: 

• Places the JCL procedure PPMODTWO into SYS1. PROCLIB. PPMODTWO 
identifies the libraries that will contain the Mod II Library 
modules (SYS1. FORTLIB and SYS1.LINKLIB or private libraries). 

• Places the FORTLIB macro instruction into SYS1. PPOPTION. 

i2j Issue a START RDR,cuu to load the tape, where cuu specifies the 
channel and unit address of the tape device containing the 
distribution tape. Running the library distribution tape 
accomplishes the following: 

• Checks the coding of the FORTLIB macro instruction for valid 
syntax. See "Appendix C: Installation Messages" for diagnostic 
messages. 

• Assembles the library modules that depend upon the FORTLIB macro 
instruction. 

• Link edits the appropriate library modules into SYS1.LINKLIB or 
SYS1. FORTLIB or private subprogram and linkage libraries. 

• Punches a card deck that contains two programs. The first 
program is a sample proaram that is used to test the success of 
the library installation. The second program is used to move 
user-written subprograms from an old FORTLIB data set to the new 
FORTLIB data set created by the installation procedure. 

Figure 10 describes the effects of the two steps listed above. The 
numbers in the figure correspond to the numbered steps. 

Installation Procedures 45 



o 




SYS1. PPOPTION 



Figure 10. Effect of Running the User-written Procedure and the Library 
Distribution Tape Under OS 



RUNNING A SAMPLE FORTRAN PROGRAM TO VERIFY THE SUCCESS OF THE LIBRARY 
INSTALLATION AND UPDATING SYSl. FORTLIB UNDER OS 

The procedure on the distribution tape punches a card deck that contains 
two jobs. 

1. The first job compiles, using the FORTRAN IV (H Extended) compiler, 
link edits- and executes a sample FORTRAN proqram, 

If your SYS1.PROCLIB data set does not contain the FORTXCLG 
procedure, or if you wish to use a different compiler, you must 
modify the // EXEC card accordingly. In addition, ensure that the 
procedure's SYSLIB DD card refers to the data-set name of the 
FORTRAN IV Library (Mod II) just installed. 



46 



2- The second job may be used to move user-written programs from the 
old FORTLIB data set, if present, to the new subprogram library 
data set. The card deck for this job must be modified before 
execution, as follows: 

• The UNIT= and VOL=SER= parameters must be supplied on the 
//SYSUT2 DD card. 

• The UNIT= and VOL=SER= parameters must be supplied on the DD1 and 
DD2 DD" cards for the unit and volume of the old and new 
subprogram library data sets. 

• The COPY PDS control statement must be repunched specifying the 
following operands: 

PDS = name of the old subprogram library data set 

TO = device of the new subprogram library data set = 

volume serial number of new subprogram library data 

set 
FROM = device of the old subprogram library data set = 

volume serial number of the old subprogram data set 

RENAME - name of the new subprogram library data set 

Note : The COPY PDS control statement in this deck is followed by 
EXCLUDE statements assure' that error messages will not be printed for 
each module that already exists in the newly created FORTRAN library. 



FORTRAN IV LIBRARY (MOD II) UNDER VM/370 



REQUIREMENTS FOR LIBRARY INSTALLATION UNDER CMS 



F or Library and PTF Installation 

• A System/370 machine that can support VM/370. 

• An installed release of VK/370. 

• A minimum CMS configuration. 

• The distribution tape for the FORTRAN IV Library (Mod II). 

• The CMS library CMSLIB containing the extended arithmetic simulator 
routines, IEAXPSIM, IEAXPALL, and IEAXPDXR. 

For L ibrary I n stallation Only 

• 270 blocks of unused space on your system (S) disk for the library 
(either a 2314 or the equivalent space on a 3330). 

• Ten (10) cylinders of unused spacf on a 2314 or the equivalent space 
on a 3330 for a scratch system disk. 

Installation Procedures 47 



For PTF Installation Only 



• The following CMS files that were installed by tne library 
distribution tape when the library was originally installed: 



( IHOCMSFT ) 


TXTLIB 


IHOCMSFT 


MAC LIB 


IHOSTAL 


EXEC 


IHOLIGEN 


ASSEMBLE 


IKOCMS 


TEXT 


IHOSAMP 


TEXT 


IHOCMS 


ASSEMBLF 


IHOCMSYE 


TEXT 


IHOCMS NO 


TEXT 


Note: The above 


files must 



through the ACCESS command. The file named IHOCMSFT TXTLIB is produced 
by the installation procedure and given a name that you supply. You 
must rename this file back to IHOCMSFT TXTLIB before the library can be 
rebuilt. In addition, the OS Sample program with its JCL will be read 
into the scratch A disk as IHOCMSFT FORTRAN. 



INSTALLING THE LIBRARY UNDER CMS 



The compiler installation under CMS consists of the following steps: 

\\J Mount the library distribution tape on virtual unit 181. 

(i) Log into VM/370 and IPL CMS. 

(3) Issue an ACCESS command assigning the disk that you have selected 
as the scratch A disk. 



48 



Cij Write and file the following EXEC procedure: 



edit prime exec 

EDIT; 

in^ut 

INPUT; 

6 control cms time 

tape rew 

Serror Sqoto -errt 

tape fsf 

filedef inmove tapl (recfm fb lrecl 80 block 80 change) 

filedef outmove disk cmsfort data (recfm f lrecl 80 block 80 

change) 

Serror Sgoto -err 

movefile 

cp spool punch to * 

punch cmsfort data (noheader 

read * * 

S beg type 

distribution tape is positioned beyond cmsfile ready to issue 

ihostal 

Send 

cp spool punch off 

Sexit 

-errt Stype tape move error error exit 

6exit2 

-err fctype error in move file exit 

Sexitl 



EDIT: 
file 



Note : It is advisable to keep this procedure permanently, in the 
event another installation is to be performed at a future date. 

MM Type in PRIME to execute the PRIME procedure, which reads file 2 
^"^^ from the installation tape and makes the following CMS files 
available: 

Filename F iletype Contents 

IHOSTAL EXEC Installation control procedure 

IHOSAMP FORTRAN Sample program for CMS 

IHOLIGEN ASSEMBLE Source for the FORTLIB macro instruction 

IHOCMS ASSEMBLE Source for the compiler CMS interface routine 



Type in IHOSTAL to execute the IHOSTAL procedure, which will issue 
a QUERY command for your terminal and print the following message: 



| OPTION TO INSTALL OR REBUILD 

| DO YOU HAVE ALL NECESSARY FILES ON DISK? 

|IF RESPONSE IS 'YES* REBUILD 

| IF RESPONSE IS 'NO' READ INSTALLATION TAPE 

L 



QQ If this is to be an installation, enter no. If you are installing 
PTFs, enter yes and skip to step ^ . 



Installation Procedures 49 



Note t The alternative response of yes is for use when PTFs are to 
be applied to the library or system. When you receive a PTF you 
must remove the OS JCL either by punching out the PTF tape or by 
reading the tape into a CMS file and using the CMS editor. You 
must then insert the change into the appropriate TXTLIB for use by 
the installation procedure when rebuilding the compiler. For ease 
in segregating text decks for PTF installation, you will be 
reguested in step @ to name two additional text libraries, which 
will be placed in front of IHOCMSFT TXTLIB with a GLOBAL command by 
the installation procedure. 



(%J As a check, the IHOSTAL procedure will type the following message 
at your terminal: 

r 

| IS FORTRAN DISTRIBUTION TAPE MOUNTED ON VIRTUAL TAPE UNIT 181? 

| HAS THE CMS FILE BEEN READ OFF THE DISTRIBUTION TAPE? 

| IS THE DISTRIBUTION TAPE POSITIONED AFTER CMS FILE? 

| INSTALLATION OF 573U LM3 LIBRARY MOD 2 

| WHEN READY ENTER 'GO* OTHERWISE ENTER ' NOGO' 

L J 

If the answer to the above guestions is yes, enter 30. If you have 
not done the items listed, enter nogo; do what is reguired, and 
re-execute the IHOSTAL procedure. 



® 



The installation procedure offers you the opportunity to generate 
the unit assignment table with default record characteristics in a 
CMS format. The following message is typed out: 

r 1 

I DC YOU WISH CMS FILE CHARACTERISTICS j 

I IN UNIT ASSIGNMENT TABLE? | 

I THAT IS RECFM F BLOCK 8 | 

I RESPOND 'YES 1 OR 'NO' | 

L J 

If you respond yes , CMS default characteristics will be established 
for all data set reference numbers except for tnose assigned to the 
printer, card punch, and card reader. The CMS characteristics are: 

RECFM F 

LRECL 80 

BLOCK 80 

BUFNO 1 

If you respond no, the supplied characteristics will be 
established. They are: 

RECFM U 

LRECL 8 00 

BLOCK 32768 

BUFNO 2 

Note : Records that are not defined as RECFM F, LRECL 80, and BLOCK 
8 cannot be used with the CMS editor. 



50 



® 



During the installation of the library , the IHOSTAL procedure types 
the following message at your terminal: 

, 1 

I DO YOU WISH TO ASSEMBLE INTERFACE | 

i ivij£i£-\Ji.>iiJ ' iEb ' vjR NO * j 

L J 

If you want the interface assembled, enter yes ; the interface 
routine will be assembled, an IHOCMS TEXT file will be created, and 
a listing printed. If you answer no, the procedure checks to see 

that the lihraru infprfapo r-on+- -i no Twnr'MC ipttvp ■: ~ ■...-.n^ui^ 

—-.— — — .j __„_ *. w<- w j.*«w f -- "^ v-iAu j.j_j^k.j., j.o a v cu.-i.cuj ac • 

If it is not, the interface routine will be assembled; if it is 
available, no new IHOCMS TEXT file or listing will be produced. 

uuij.riu uic irioLaiialiuii v-»i. a rn | una ^ncv^ri j.o uiiauucu anu i_nc 

message, shown above, does not appear. 

Note; If you wish to force the assembly of the interface routine 
you must first erase an existing IHOCMS TEXT file. 



MO The IHOSTAL procedure will continue processing and type the 
following message at your terminal: 

r 

| IF IHOLIGEN ASSEMBLE IS AS DESxRFD FOR OPTIONS ENTER ' NOEDIT 1 

| IF YOU WISH TO EDIT THE OPTIONS STATEMENT THAT EXISTS ENTER 

I'EDIT' 

| TO EXIT THE CMS EDITOR YOU MUST FNTER CARRIAGE RETURN AND 'FILE' 

| AFTER THE OPTIONS HAVE BEEN ENTERED 

|TC EXIT INSTALL PROCEDURE IN CASF OF ERROR TYPE IN 'HALT' 

L J 

See the section "Coding the FORTLIB Macro Instruction" for an 
explanation of the IBM-supplied default options. If all the 
defaults shown there are acceptable without any changes, type 
noedit and skip to step @ . If you want to change any of the IBM 
supplied defaults, type edit and oo on to step (J^ . 

u2) The IHOSTAL orocedure will type the following list of IBM-supplied 
^-"^ compiler option defaults: 

r n 

|* MOD 2 FORTRAN LIBRARY OPTIONS DEFAULTS SHOWN | 

| FORTLIB UNTABLi=08,OBJERR=0b,CWLMKD=05, CNLNPCH=07 f *| 
| BOUNDARY=NOALIGN, OPT£RR=EXCLUDE, £DDNTRY=0 | 

|* ENTER MOD 2 OPTIONS DESIRcD | 

L J 

To change any of the defaults, type in the macro, following the 
conventions for editing a file with a filetype of ASSEMBLE: 

Q Hit the iTABj key once to position th< carrier at the r?eginnina 
of the operand field. 

|5| Type in tht niacro nairiP and each keyword operand to be changed 
together with its new default value. 

Q If the nuirber of options to be changed rtguires a continuation 
line, type in a character as a continuation indicator in column 
72 (count from the left hand margin indicator), and continue 

Installation Procedures 51 




typing the options beainning in column 16 of tfte following 
line. 

|fl After all changes have been made, hit the RETURN key ^ twice 
and issue the FILE subcommand. 

Example ; 

i 1 

fortlib onlnpch=08 | 

I 

EDIT: | 

| file | 

L J 

Note ; You need not specify a value for the ADDNTRY and OPTERR 
operands. You will be specifically requested to enter parameters 
for them in steps @ and @ . 

M3) To obtain a value for the ADDNTRY operand of the FORTLIB macro 
instruction, the installation procedure types out the following 
message: 

i 1 

| ENTER NUMBER OF USER ENTRIES IN OPTION TABLE j 

| ZERO • 0' FOR NO ENTRIES TO 598 MAXIMUM | 

You respond by supplying the number of user entries that you wish 
installed in your option table. If you will not be using the 
user-defined entries for the extended error handling facility, 
enter 0. 

m4) The procedure continues processing and types out the following 
message requesting you to name the TXTLIBs you want installed: 

r 1 

| ENTRY NAMES FOR THE TEXTLIB YOU WISH TO USE FOR THIS LIBRARY 

| YOU MAY ENTER 1, 2 OR 3 NAMES YOU MUST SUPPLY ONE NAME AT LEAST 

| NAME 1 IS FOR THE MAIN TXTLIB FOR FORTRAN OBJECT TIME LIBRARY 

| IF ONLY 2 NAMES ARE SPECIFIED THE PRIMARY CHOICE GOES TO NAME 1 

| THE SECONDARY CHOICE GOES TO NAME 2 TXTLIB 

| NAME 2 IS FOR A TXTLIB FOR ONLY EEH ROUTINES 

| NAME 3 IS FOR A TXTLIB FOR ONLY NOEEH ROUTINES 

L J 

You can create up to three TXTLIBs and vary their contents 
depending on your needs, as follows: 

• One Library (FORTMOD2) 

If you are not using the extended error handling facility, your 
library will contain: 

FORTMOD2 - files U and 5 of the distribution tape, IHOCMS, 
IHOUATBL, and IHOUOPT without error handling. 

If you are using the extended error handling facility, your 
library will contain: 

FORTMOD2 - files U and 6 of the distribution tape, IHOCMS, 
IHOUATBL, and IHOUOPT with error handling. 

52 



• Two Libraries (FORTMOD2 and teCD2NEEri or -MOD2EEH) 

If you are not using the extended error handling facility, your 
libraries will contain: 

F0RTM0D2 - file 4 of the distribution tar>e ? IHOCMS, IHGUATbl.- 
and IHOUOPT 

M0D2NEEH - file 5 of the distribution tape and IHCUOPT 

If you are using the extended error handling facility, your 
libraries will contain: 

FORTMOD2 - files 4 and b> of the distribution tape, IHOCMS, 
IHOUATBL, and IHOUOPT 

M0D2IEH - files 4 and 6 of the distribution tape and IHOUOPT 

• Three Libraries (FORTMOD2, MOD2EEH, and MOD 2 NEE H> 

You may create three TXlLlBs if you are using the extended error 
handling facility. Your libraries will contain: 

FORTMOD2 - file 4 of the distribution tape, IHOCMS, and 
IHOUATBL 

MOD2EEH - file 6 of the distribution tape and IHOUOPT (with 
extended error handlinq modules) 

MOD2NEEH - file 5 of the distribution tape and IHOUOPT 
(without extended error handling modules) 

M5) Enter the library names you have chosen., (The names shown above 
are only suggestions. You may use them or your own names. ) 

MB) To obtain a value for the OPTERR operand of the FORTLIB macro 
^"^ instruction, the installation procedure types out the following 
message: 

r „=„ 1 

j FOR TXTLIB BUILD INDICATE j 

| 'INCLUDE' FOR EXTENDED ERROR HANDLING AS PRIMARY CHOICE | 

I 1 EXCLUDE* FOR NO EXTENDED ERROR HANDLING PRIMARY CHOICE J 

L J 

This message appears only if you have chosen 2 TXTLIB names. If 
you want to install the extended error handling facility in your 
library, as your primary choice, enter include; if you do not, 
enter exclude . 

Mn To provide a facility for segregating text decks (refer to step ^7^ 
for more information) during the installation of PTFs, the ^"^ 
installation procedure will type the following message at your 
terminal: 

r t 

| ENTER CR 1 OR 2 MACLIB NAMES | 

L J 

If you do not want any additional MACLIBs, hit the RETURN key, 
@ . If you want additional MACLIBs enter one or two names that 
will be used as the filename for the additional MACLIBs. They will 

Installation Procedures 53 



be placed before the IHOCMSFT MACLIB with a GLOBAL command issued 
by the installation procedure. 



Ml) The procedure will continue processing until the installation of 
the library and interface on the scratch disk is complete. 

Ml) At this point procedure will execute the library sample program, 

IHOSAMP TEXT, and type the following instructions at the terminal: 

r t 

| RUN SAMPLE JOB TAKE CONSOLE PROMPTS | 

| EXECUTION BEGINS... | 

| SAMPLE JOB FOR MOD 2 LIBRARY | 

| ENTER SHORT MESSAGE | 

I J 

Respond by typing in any short message, preceding the message with 
a blank or the character • 1* in the first position as the carriage 
control character 

Example : 

r t 

|lshort message | 

i j 

The procedure responds by repeating the first 11 characters of tne 
message (beginning with the second position), followed by a set of 
statements indicating successful installation of the library: 

i 1 

| SHORT MESSA 

| END OF MOD FORTRAN LIBRARY SAMPLE JOB 

| END OF SAMPLE JOB 

| INSTALL OF MOD 2 FORTRAN LIBRARY COMPLETE 

|R; 



(20) To move the library from the scratch A disk to your actual system 
^"^ disk, issue the following commands assuming that 191 is the scratch 
disk and 190 is the system disk: 

r t 

I access 191 b 

I 

(access 190 a 

I 
Q j copy filename txtlib b2 = = a2 

I 
HI j copy filename txtlib b2 = = a 2 

" I 
m I copy filename txtlib b2 = = a2 

** L J 

In the set of commands shown above, the lettered commands require 
that you supply information that is dependent upon your system. An 
explanation of the information required follows: 

Q You must include the first file name that you chose in step 
^|) and the same mode that you supplied in the command 
lettered El above. 



54 



BH Enter this command if you specified a second name in step ® 

Q Enter this command if you specified a third name in step @ 

Note -; You may ^save the contents of the scratch disk for your 
archives or to rebuild the library at a later date. 



Installation Procedures 55 



STORAGE REQUIREMENTS 

The storage estimate tables in this section provide the following: 

• The amount of dynamic storage required for execution of the FORTRAN 
IV (H Extended) compiler under OS and CMS (see Table 1). 

• The amount of secondary storage required by the FORTRAN IV 
(H Extended) compiler under OS (see Table 2). 

• The amount of secondary storage required by the FORTRAN IV Library 
(Mod II) under OS (see Table 3). 

• The amount of secondary storage required by the FORTRAN IV 
(H Extended) Compiler and Library (Mod II) under CMS. 



Table 1. Minimum Dynamic Storage Requirements for Executing the 
FORTRAN IV (H Extended) Compiler Under OS and CMS 



Control 
Program 



Access j Storage Required 
Method | (in bytes » 



MFT 
MVT 



QSAM | 160K 
+ 

QSAM j 160K 



| 

| CMS 

|. 

| *-CMS simulates the OS Queued Sequential Access Method. 

L 



QSAM 1 | 60 OK 

x jl 



56 



Taole 2. FORTRAN IV (H Extended) Compiler Seconda 
Requirements 



ry Storage 




Number of Tracks Required 



h 



Number of | IBM | IBM | IBM | IBM 
Directory! 2301 j 2302 j 2303 | 2311 
Records 1 ! Drum j Disk | Drum | Disk 
4 4 4 4 



| | IBM | 

| IBM | 2321| IBM 

j 2314 j Dataj 3330 

I Disk Cell Disk 



■H 



f 



■4- 



(. 4. 

ISYSl.LINKLIB | 



4 4 4 4 

33 | 132 | 135 | 180 | 



90 | 329 | 45 
4 4 



j. J- X ± JL ± 

^-The number of 256-byte records allocated for a di 
partitioned data set is being defined. (See the 
SPACE parameter of the DD statement in the public 
Operating System: Job Control Language Ref erence 
No. GC28-6704. > The number of directory records" 
contained on a track is as follows : 

IBM 2301 Drum Storage - 45 
IBM 2302 Disk Storage - 14 
IBM 2303 Drum Storage - 12 
IBM 2311 Disk Storaqe - 10 
IBM 2314 Disk Storage - 17 
IBM 2321 Data Cell - 5 
IEM 3330 Disk Storaae - 29 



rectory when a new 
description of the 
ation IBM Syste ri/3b0 
, Order 
that can be 



Table 3. FORTRAN IV Library (Mod III Secondary Storage Requirements 
r t -r 1 



Description 
j 



h 



Number of Tracks Required 

T T T T 



| Number of | IBM | IBM 
{Directory! 2301 \ 2302 
| Records 1 ! Drum j Disk 



IBM 

2303 

Drum 



IBM 

2311 

Disk 



IBM 

2314 

Disk 



IBM 
2321 
Data 
Cell 



.) 

I 

IBM j 

3330 j 

Disk)' 

.j 



SYS1.FORTLIB 



58 



I 12 | 



47 



48 



b5 



31 



117 



21 



SYS1.LINKLIB | 
4. 



1 I 



SYS1.PPCPTIONI 



s-The number of 256-byte records allocated for a directory when a new 
partitioned data set is being defined. (See the description of the 
SPACE parameter of the DD statement in the publication IBM Syste m/3b 
Operating System: Job Control Language Reference, Order 
No. GC28-6704. ) The number of directory records that can be 
contained on a track is as follows: 







IBM 


2301 


Drum 


Storage - 


45 


IBM 


2302 


Disk 


Storage - 


14 


IBM 


2303 


Drum 


Storage - 


12 


IBM 


2311 


Disk 


Storage - 


10 


IBM 


2314 


Disk 


Storage - 


17 


IBM 


2321 


Data 


Cell 


5 


IBM 


3330 


Disk 


Storage - 


29 



Installation Procedures 57 



Table *• FORTRAN IV <H Extended) Compiler and Library (Mod II) 
Secondary Storage Requirements under CKS 



I 



Number of Cylinders 
Required for Installation 



I 
I 
| Description 



I 



IBM 

231U 

Disk 



IBM 

3330 

Disk 



Number of 

Blocks 

Required 



j H Extended Compiler j 30 
| Library <Mod lift | 10 



■+-- 

I 



15 
5 



542 
270 



I 
.-J 



58 



SYSTEM PROGRAMMING 



COMPILER AND LIBRARY INSTALLATION FOR OS RELEASE 19 USERS 



REQUIREMENTS FOR INSTALLATION ON OS RELEASE 19 

To install the FORTRAN IV (H Extended) compiler and the FORTRAN IV 
Library (Mod II) on Release 19 of the System/360 Operating System, you 
must have the following available; 

For both compiler and library 

• A System/360 or System/370 machine that, supports the MFT (with the 
ATTACH option) and/or MVT System/360 Operating System 
environment (s) . 

• The Distribution Library for Release 20 of the IBM System/360 
Operating System. 

Note ; Tne distribution library must be restored from its original 
tape to disk device before it can be used. The restore procedure 
assigns the data-set name and the volume serial number to be used. 

See the publication IBM Syste in/360 Operating System; Utilities, 

Order No. GC2&-6586 for information on the restore procedure. 

• 136K bytes of main storage for processing each distribution tape. 

• IMASPZAP fixes for APAR's 31594, 34556, and 39145 and Program 
Temporary Fix (PTF) for APAR 34018. 

• The IEBCOPY, IEBUPDTE, and IEriPROGM utility programs. 

• The IMASPZAP service aid program. 
For the compiler only 

• Space available on SYS1.LINKLIB or a private library for the FORTRAN 
IV (H Extended) compiler (see TaDle 2 in the "Storage Estimates" 
section for SYS1.LINKLIB storage requirements). 

• Space available on SYS1.PROCLIB or a private library for the FORTRAN 
IV (H Extended) cataloged orocedures (see Table 2 in the "Storage 
Estimates" section for SYS1. PROCLIB storage requirements ) . 

For the library only 

• Space available on SYS1. LINKLIB or a private library for the 
IHOSTAE, 1HOIOSUB, and 1HOOERF2 modules. 

Note: If boundary alignment is requested in the FORTLIB macro 
instruction, the IHOADJST rodule is included en SYS1. LINKLIE or a 
private library. See Table 3 in the "Storage Fstirnates" section for 
the storage required by SYS1. LINKLIB. 

• Space availaole for the SY31. FOkTLIB data set or a private library, 
which will contain the remainder of the Mod II Library modules (see 
Taole 3 in the ".storage Estimates" section for SYS1. FORTLIE storaoe 
re qui rem*F nts ) . 

System Programming 59 



• Additional space on SYS1. LIrlKLIB or a private library for the 
Extended Precision Floatinq Point Simulator routines. If you are 
using a private library, you ruust use a JOBLIB DD statement that 
defines the data set on which the library resides each time you run 
a FORTRAN IV (h Extended) program. 

• 130 queue records for the system initiator/terminator. 

Note ; The number of queue records is determined at system 
generation time by the JOBQLMT parameter in the SCHEDULR macro 
instruction. If the value specified for JOBQLMT was less than 130, 
it must be raised to 130 during an initial program load (IPL) prior 
to installing the library. During the IPL, the operator mast reply 
to the message: 

id IEF4 23A SPECIFY JOB QUEUE PARAMETERS 
with the following: 

REPLY id, '.ISO 1 
This reply is given in addition to any others that may be requested. 



INSTALLATION PROCEDURES ON OS RELEASE 19 

To install the FORTRAN IV (H Extended) compiler and the FORTRAN IV 
Library (Mod II) on Release 19, do the following: 

• Modify Release 19 of the IBM System/360 Operating System as 
described in the section "Copying the Extended Precision Floating 
Point Simulator Routines. " 

• Using the IMASPZAP service aid program, apply fixes for APAR's 
31594, 34556, and 39145 and apply Program Temporary Fix (PTF) 70260 
for APAR 34018. 

• Follow the installation procedures for Release 20. 

Note : If you are using an IBM System/360 Model 85 or 195, or a 
System/370 that has the Extended Precision Floating Point Arithmetic 
f^' 1 " 5 , e °o fho cerfinn "Sr>#»ria"l- Considerations for Svstem/3b0 Model 85 
or 195, or System/370 Users" for additional processing that is required. 



Copying the Extended Precision Fl oatinq Point Simulator Routines 

Prepare a card deck to copy the Extended Precision Floating Point 
Simulator routines from the Release 20 distribution library into 
SYSl.LINKLIB, or a private linkage library. These routines are not part 
of Release 19 but are required by the FORTRAN IV (H Extended) compiler 
and the FORTRAN IV Library (Mod II). Figure 11 shows the JCL required. 
The lettered statements contain items that you must provide based on the 
facilities available to you. 

60 



r 

| //STEP1 EXEC PGM=IEBCOPY 
I //SYSPRINT DD SYSOUT-A 



04 



J+V/DD2 DD DSN=SYS1.CI505,DISP=OLD, 

// UNlT=unit, VOL=SER=volume serial, 

// SPACE=(TRK, (1,1) ) 

py/DD3 DD DSN=linkaae library name, DISP=OLD 

•//SYSUT3 DD DSN=TEIViPl,DISP=(NEW, DELETE) , UNIT=unit, 

// VOL=SER=volume serial, SPACE=(TRK, (1, 1) ) 

■//SYoUTU DD DSN=TEMP2,DISP=(NEW, DELETE) , UNIT-unit 

j // VOL=SER=volume serial, SPACE=(TRK, (1,1) ) 

| //SYSIN DD * 

i COPY OuTDD— DD3, INDD-DD2 

| SELECT MEMBER=( ( IEAXPALL, , R) , (IEAXPDXR, ,R) , 

j // (IEAXPSIM, ,R) ) 

| /* 

Figure 11. Copying the Extended Precision Floating Point Simulator 
Routines from Release 20 into Release 19 



An explanation of the lettered items in Figure 11 follows: 

| If you are using a 2311 Disk Storage device for the disk pack that 
contains the Release 20 starter system data set (SYSi. CI505) , code 
2311 for the unit parameter and DLIB03 for the volume serial 
number. If you are using a 2314 Disk Storage device, code 2314 for 
the unit parameter and DLIB01 for the volume serial number. 

Insert the name of the linkage library on which the Extended 
Precision Floating Point Simulator routines will reside (either 
SYS1.LINKLIB or a private library). If the library you choose is 
not cataloged, add to this statement the unit and volume serial 
number on which it resides. 



Note : If you are using a private library, you may concatenate it 
with SYS1.LINKLI3 at initial program load (IPL) time or you may 
include in the JCL of anv FORTRAN nronram that will use the 
compiler or MOD II Library, a JOELIB or STEPLIB DD statement that 
describes the private library on which the simulator routines 
reside. See the "Link Library List" section for information on 
concatenating data sets with SYS1.LINKLIB or the publication IB M 
System/360 Operating System Job Control Language Reference , Order 
No. GC28-6704, for information on using the JOBLIB or STEPLIB 
statements. 



Insert the type of the direct-access device and the volume serial 
number you are using for the work data set. 

|jj Insert the type of the direct-access device and the volume serial 
"™ number you are using for the work data set. 

After modifying Release 19 of the operating system, continue 
installation processing using the information contained in the sections 
following the installation requirements section for either the compiler 
or the library. The two-steps described above may be run with the 
user-written procedures discussed in those sections; however, they must 
be run before you attempt to run the sample FORTRAN program deck. 

System Programming 61 



SPECIAL INSTALLATION CONSIDERATIONS FOR SYSTEM/ 36 MODEL 85 OR 195, OR 
SYSTEM/ 370 USERS WITH OS 

If you have a System/360 Model 8 5 or 195 or a System/370 that has the 
Extended Precision Floating Point Arithmetic feature, your system is 
able to automatically perform extended precision arithmetic operations 
using this built-in hardware. Extended precision division operations, 
however, require a simulator routine that assists the hardware and 
increases the speed of the operations. There are two routines 
available. Your choice of the appropriate routine to use depends upon 
your hardware. Using the right routine will increase the speed of 
extended-precision division operations on systems equipped with 
extended-precision floating-point arithmetic. 

The Release 20 distribution library contains both the division 
simulator routine and a complete simulator routine for users that do not 
have the Extended Precision Floating Point Arithmetic feature. If you 
wish to take advantage of this feature, you must indicate to the system 
that it is available or the complete simulator routine will be used. To 
indicate that the Extended Precision Floating Point Arithmetic feature 
is available and the division simulator routine is to be used, you 
must modify bit 7 of byte 182 in the Communications Vector Table. The 
following procedures perform the necessary modifications. 

1. Prepare a card deck that uses the IMASPZAP service aid program to 
dump the CSECT, IEAQBK00 for MVT and CSECT, IEACVTRN for MFT in the 
module IEANUC01 of nucleus that you are using. If you have more 
than one nucleus available, specify the same CSECT in the 
corresponding module of the nucleus you wish to modify (IEANUC02, 
etc. ) . You may run this step with the user-written procedure 
described in the "Installation Procedures" section. For MVT 
systems, the card deck should contain the following: 

//STEP3 EXEC PGM= IMASPZAP 

//SYSLIB DD DSN=SYS1. NUCLEUS, DISP=OLD 

//SYS PRINT DD SYSOUT=A 

//SYSABEND DD SYSOUT=A 

//SYSIN DD * 

DUMP IEANUC01 IEAQBK0O 
/* 

For MFT systems, replace the DUMP statement with DUMP IEANVC01 
IEACVTRN 

2. Hsina the dumc oroduced above, locate the contents of byte 182 
(decimal) in the Communications Vector Table (CVT). This byte is 
located at a displacement of 18 2 bytes beyond IEACVT, an entry 
point in I2AQBK00 and IEACVTRN. Calculate the location of this 
byte using the system generation assembler listings for the nucleus 
you are using (IFANUC01, IEANUC02 , etc.). 



62 



j. Prepare a secona cara aecx tnat will replace the contents of bit 7 
of byte 182 with a bit that is set to one. All the other bit 
settings of the byte must remain unchanged. For MVT systems, the 
second deck should contain the following: 

accounting information, MSGLEVEL=(1, 1) 

PGM=IMASPZAP 

DSN=SYS1. NUCLEUS, DISP=OLD 

SYSOUT=A 

SYSOUT=A 

* 

nucleus data set name 



//J0B2 


JOB 


//STEP 


EXEC 


//SYSLIB 


DD 


//SYSPRINT 


DD 


//SYSABEND 


DD 


//SYSIN 


DD 




NAME 




tlfTlTfU 
V£iI\XI X 




REP 



xOcatiOn Ox, 



location of byte 182 



IEAQBKOO 
contents of byte 
replacement for 
byte 182 



J.B/ 



For MFT systems, replace the NAME statement with NAME nucleus data 
set name IEACVTRN 



4. Complete the remaining steps necessary to install on Release 19. 



ASSEMBLING USER-WRITTEN COMPILER AND LIBRARY MODULES ON OS RELEASE 19 

To assemble on Release 19 compiler and library modules that you have 
written for use with the FORTRAN IV (H Extended) compiler or the FORTRAN 
IV Library (Mod II), you must use the Release 20 Assembler F and macro 
library. These two Release 20 components must be restored from their 
original distribution library tape to a disk device before they can be 
used. The restore procedure assigns the data- set name and volume serial 
number to be used. See the publication IBM System /360 Operating S y stem 
Utilities , Order No. GC28-6586 for information on the restore procedure. 
You may assemble or reassemble modules following the installation 
process. But before you attempt to run a FORTRAN program that uses your 



case. 




//MYJOB 


JOB 


//JOBLIB 


DD 


// 




//MYSTEP 


EXEC 


//ASM. SYSLIB 


DD 


// 




//ASM. SYSIN 


DD 



accounting information, n;sglevel=<1, 1) 

DSN=SYS1.AS037, DISP=OLD, UNIT=2314, 

VOL=SER=DLIB01 

ASMEC 

DSN=SYS1. MACLIB, DISP=OLD, UNIT=2314, 

VOL=SER=DLIB01 



(your program source statements) 



/* 



If you are using a 2311 Disk Storage device, the volume serial nurccer 
for the Assembler F is DLIR05; the volume serial number for the macro 
library is DLIB01. 



System Programming 6 3 



EXTENDED ERROR HANDLING FACILITY 



HOW TO CREATE OR ALTER AN OPTION TABLE 

The option table is supplied during system generation or installation of 
the library when the extended error Handling facility is requested. 
However, to provide a new set of options for an existing table, the 
option table must be reassembled and link edited into the FORTRAN 
library. This is done after system generation or installation of the 
compiler and before you attempt to run a program that requires the 
extended error handling facility. A procedure for accomplishing this is 
described in the following text. A complete description of the option 
table, PREFACE option, and SETENT option can be found in the publication 
IBM System/3b0 Operating System; FORTRAN IV (H Extended) Programmer' s 
Guide, Order No. SC28-6852. 

An assembler language macro definition can be used to generate an 
option table. The macro definition and use of the macro for each option 
table entry are supplied as input to the assembler procedure ASMFCL to 
replace the system-generated option table with tne new one. 

An example of an assembler language macro definition used to generate 
an option table is shown in Figure 12. This example may be used as a 
guide by the user. 

In the example, the macro parameters are as follows: 

PREFACE a,b,c 

a 

is the number of user entries to be created (same as the number 
specified for the ADDNTRY operand of the FORTLIB macro 
instruction) . 

b 

is the boundary alignment desired. A value of is used for no 
alignment; a value of 1 is used for alignment. 



c 



is the number of times the SETENT macro instruction (see below) 
is to be issued. 



a 



b 



c 



d 



is the error entry to be altered. 



is the count of errors to be allowed. A value of indicates 
unlimited error occurrence. 



is the count of the number of times the message should be 
printed before suppression. 



is the hexadecimal digits that specify the option bits. 



64 



1 


//OPTAB 


JOB 


1,' SAMPLE MACRO '.MSGLEVEL-1 CREATE IHOUOPT 




//VER1 


EXEC 


ASMFC , PARM . ASM-NODECK 




//ASM.SYSIN DD • 






MACRO 








PREFACE tADENT,tADJST,tSETENT 




• • THIS MACRO GENERATES THE PREFACE TO THE OPTION TABLE AND SETS 




.♦ GLOBALS FOR SUBSEQUENT CALLS TO THE SETENT MACRO 




.* THE 


USE OF THIS MACRO GENERATES AN OPTION TABLE AS DEFINED BY IBM 




. * AND 


ALLOWS CHANGES TO INDIVIDUAL ERROR NUMBERS AS DESIRED, BY USE 




.♦ OF 


SETENT 








GDLA 


tCOUNT, tTOTAL, tSETNR 






LCLA 


tA 




IHOUOPT 


CSECT 






tSETNR 


SETA 


t SETENT 




tCOUNT 


SETA 


204 ERROR NUMBER OF FIRST ENTRY IN TABLE 




tTOTAL 


SETA 


tADENT+301 NUMBER OF LAST ENTRY IN TABLE 




(A 


SETA 


SADENT+98 






DC 


F'tA' TOTAL NUMBER OP ENTRIES IN TABLE 






DC 


B'OtADJST. 000000" 






DC 


AL3(0) 






MEND 








MACRO 








SETENT IE 






GBLA 


tCOUNT , tTOTAL , tSETNR 






LCLA 


tB 




(B 


SETA 


1 




tSETNR 


SETA 


tSETNR- 1 




.AGAIN 


ANOP 


START OF LOOP TO GEN ONE ENTRY IN TABLE FOR ERROR NUMBER 






AIF 


( tCOUNT GT tTOTAL) .MEND HAVE ALL ENTRIES BEEN CREATED 






AIF 


(tB LE N'tSYSLISTj.TEST 






AIF 


(tSETNR EQ 0). DEFAULT 






MEXIT 






• TEST 


ANOP 






.• IF THERE IS 


NO USER SUPPLIED INFO FOR THIS ERROR NO TAKE DEFAULT 






AIF 


(tSYSLIST(tB,1) NE tCOUNT) .DEFAULT 




ERRtCOUNT DC 


AL1 (tSYSLIST(lB,2)) NUMBER OF ERRORS TO ALLOW PR SETENT 






DC 


AL1 (tSYSLIST(tB,3)) NO OF MSGS TO PRINT PROM SETENT 






DC 


X'OO' 






DC 


X'fSYSLIST(tB,«)* OPTION BITS SUPPLIED BY SETENT 






DC 


p..,. 




tCOUNT 


SETA 


tCOUNT* 1 




tB 


SETA 


tB+1 






AGO 


• AGAIN RETURN TO LOOP 




.DEFAULT 


ANOP 


IBM DEFAULTS FOR ERRORS NOT INDICATED BY SETENT 




.» IBM 


SPECIAL CASES FOR MESSAGE COUNT 






AIF 


(tCOUNT E0 208). UNLIM 






AIF 


(tCOUNT EO 2 10). UNLIM 






AIF 


(tCOUNT EQ 215). UNLIM 






AIF 


(tCOUNT EQ 217) .ONE 






AIF 


(tCOUNT EO 2 30) .ONE 




ERRtCOUNT DC 


AL1 (10) 




.BACK1 


ANOP 








DC 


AL1 (5) 




.BACK2 


ANOP 








DC 


X'00' 




.* iri 


SPECIAL CASES FOR OPTION BITS 






AIF 


(tCOUNT EO 212) .SPBITS 






AIF 


(tCOUNT EO 2 15). SPBITS 






AIF 


(tCOUNT EO 2 18). SPBITS 






AIF 


(SCOUNT EQ 221). SPBITS 






AIF 


(tCOUNT EO 222). SPBITS 






AIF 


(tCOUNT EQ 223) .SPBITS 






AIF 


(tCOUNT EQ 224) .SPBITS 






AIF 


(tCOUNT EO 225). SPBITS 






DC 


X'42' 






AGO 


. CONT 




.SPBITS 


DC 


X'52' 




.CONT 


ANOP 








DC 


P't' 




tCOUNT 


SETA 


tCOUNT+1 






AGO 


.AGAIN RETURN TO LOOP 




.UNLIM 


ANOP 






ERRtCOUNT DC 


AL1 (0) 






AIF 


(tCOUNT NE 210J.BACK1 






DC 


AL1 (10) 






AGO 


.BACK2 




.ONE 


ANOP 






ERRtCOUNT DC 


AL1 (1) 






DC 


AL1 (1) 






AIF 


(tCOUNT EQ 217J.BACK2 






DC 


X'00' 






DC 


X' 02' 






AGO 


. CONT 




.MEND 


ANOP 
MEND 






* 


END OF MACRO DEFINITION 




* 


EXAMPLE OF THE USE OF THE MACRO 




PREFACE 


50,1 


,2 




SETENT 


(220,5 


,2, 21), (2 35, 10, 5, 42), (255, 2, 0,4) 




SETENT 


(300, 
END 


56,65,3) 




/.' 








END OF 


DATA 


— ■ 



Figure 12. Example of Assembler Language Macro Definition Used to 
Generate Option Table 



System Programming 65 



The macro instructions are used as follows: 

1. Only one PREFACE macro instruction is allowed. 

2. As many SETENT macro instructions as are desired may be used. From 
1 to 200 error entries can be specified in the use of a single 
SETENT macro instruction by using continuation cards. 

3. Only error entries that differ from the default options need be 
specified. See the publication OS FORTRAN IV (H Extended) 
Programmer's Guide , Order No. SC28-6852, for more information 
on the default options . 

4. Error codes must be placed in ascending order in the SETENT macro 
instruction. For IBM-supplied entries, error codes are in the 
range 302 to 899. 

b. Changing one option for any error entry requires that all four 
parameters be specified. If default values are desired for an 
entry, they roust be respecified. For example: 

SETENT (241,50,5,42) 

indicates that for error 241, the number of errors to be allowed is 
50; the error message should be printed five times before it is 
suppressed; and the option oits are set with a hexadecimal 42. 



THE LINK LIBRARY LIST UNDER OS 



The link library list (LNKLST00) enables you to concatenate up to lb 
data sets, on multiple volumes, to form SYS1. LINKLIB. When the system 
is generated, LNKLST00 is included in tne system as a required member of 
SYSl. PARMLIB. If SYSl. PARMLIB does not include the member LNKLS r l00, 
SYSl. LINKLIB will be used as the system link library end a warning 
message will be provided. 

LNKLST00 contains one member, SYSl. LINKLIB. After system generation, 
you will have the option of adding members via the IEBUPDTE utility 
program. Each member may have up to 16 extents. After making additions 
to SYS1.SVCLIB, SYSl. LINKLIB, or data sets concatenated to LINKLIB via 
LNKLST00, and before using the additions, an IPL should be performed to 
update the description of the link and/or SVC library in main storage. 

Your input format (to IFBUPDTEi consists of 8 character records. 
Continuation is indicated by placing a comma after the last name in a 
record and a nonblank character in column 7 2. Subsequent records must 
start in column 16. The initial format is: 

tb. ..] SYSl. LINKLIB 

To add member names to LNKLST00, replace the initial record with: 

[b. . . ] SYSl. LINKLIB, namel, name2 1 r.ame3, . . . 



66 



SYSLIN DEFINITION IN CATALOGED PROCEDURES 

In order to allow the compiler to run more efficiently, cataloged 
procedures define SYSLIN as having a blocking factor of 40, i.e., 
a blocksize of 3200 bytes. Note that the blocking factor used 
durin" link editin" bears a relationship to the linkage editor's 
SIZE option. 

If the defaults at your installation do not handle the 40 to 1 
blocking factor, change your cataloged procedure by either: 

1. Specifying a blocksize of less than 3200 bytes for SYSLIN. 
or 

2. changing the SIZE option and/or the REGION size used by 
the linkage editor. See the publication IBM System/ 360 OS 
Linkage Editor and Loader , Order No. GC2 8-6538, for further 
details. 

Note also that the REGION size for the link edit step in the 
cataloged procedure is 96K. 



System Programming 67 



APPENDIX A: COMPILER AND LI3RARY MODULES 



FORTRAN IV (H EXTENDED) COMPILER MODULES 



IFEAAA 
IFEAAB 
IFEAAC 
IFEAAD 
1FEAAE 
IFEADC 

IFEAIB 
IFEAIO 
IFEALD 
IFEANT 
IFEAPD 
IFEAPT 
IFEATB 
IFEATC 
IFEATM 

IFEBUF 

IFECAA 
IFECAR 
IFECCR 
IFECDI 
IFECDO 
IFECDP 
IFECDT 
IFECGC 
IFECGO 
IFECGW 
IFECIO 
IFECLT 



IFECPX 
IFECSP 
IFECSR 
IFECTN 

IFEDCL 
IFEDIO 

IFEGAA 
IFEGCR 
IFEGCZ 
IFEGDA 
IFEGDF 
IFEGDT 
IFEGEV 
IFEGFM 
IFEGNL 
IFEGOS 
IFEGSD 
IFEGST 

IFEJAB 
IFEJAC 
IFEJAL 
IFEJAN 
IFEJBF 
IFEJCM 
IFEJCP 
IFEJDF 
IFEJFI 
IFEJFU 



IFEJGR 
IFEKCN 
IFEKOP 
IFEKPA 
IFEKRE 
IFEKSA 
IFEKSM 
IFEKST 
IFEKUN 

IFELAB 
IFELER 
IFELGN 
IFELMA 
IFELOK 
IFELRG 
IFELTB 

IFEPBD 
IFEPBL 
IFEPBT 
IFEPBZ 
IFEPGK 
IFEPLP 
IFEPLS 
IFEPOP 

IFEQBM 
IFEQCF 
IFEQCL 
IFEQKO 



IFEQMT 
IFEQPF 
IFEQSM 
IFEQSR 
IFEQTL 
IFEQWT 
IFEQXM 
IFEQXS 
IFEQXX 

IFERBX 
IFERBP 
IFERFL 
IFERFP 
IFERFR 
IFERGB 
IFERLA 
IFERLL 
IFERRG 
IFERSL 
IFERSS 
IFERSX 
IFERTB 

IFES3S 

IFETAA 
IFETAB 
IFETEN 
IFETEP 
IFETIO 



FORTRAN IV (H EXTENDED) COMPILER CMS INTERFACE MODULE 



IFECMS 



OBTAINING CSECT SIZES FOR THE COMPILER MODULES UNDER OS 



IFETIS 
IFETLM 
IFETLS 
IFETMP 
IFETPK 
IFETPR 
IFETRN 
IFETSR 

IFEUED 
IFEUEN 

IFEVCA 
IFEVCC 
IFEVFN 

IFEWCN 

IFEXRF 
IFEXRS 

IFEYER 

IFEZER 

IHOFCCNI 

IHOFTEN 

IHOFQTEN 

IHOQCCNI 
IHOCONO 



It is possible to obtain CSECT sizes for the FORTRAN IV (H Extended) 
compiler modules using the IMBMDMAP service aid program. A sample of 
the output from this program is shown in Figure 13. You need the 
following JCL statements: 

accounting information, MSGLEVEL= (1, 1) 
PGM= IMBMDMAP, , REGION=200K 
DSN=data-set name on which compiler 
resides (IFEAAB) ,DISP=SHR 
SYSOUT=A 



//CSCTSIZE 


JOB 


//STEPA 


EXEC 


//DD1 


DD 


// 




//SYSPRINT 


DD 


// 





For more information on using the IMBMDMAP service aid program see the 
publication IBM System/360 Operating System; Service Aids , Order 
NO. GC28-6719. 



68 




Figure 13. Sample Output from the IMBMDMAP Service Aid Program 



Appendix A: Compiler and Library Modules 69 



FORTRAN IV LIBRARY (MOD II) 



IHOADJST 1 , 2 
IHOASYNC 1 , 2 

IHOCGOTO 

IHOCLABS 

IHOCLAS 

IHOCLEXP 

IHOCLLOG 

IHOCLSON 

IHOCLSQT 

IHOCOMH2 

IHOCQSCN 

IHOCQSQT 

IHOCQABS 

IHOCQEXP 

IHOCQLOG 

IHOCQRIT 

IHOCSABS 

IHOCSAS 

IHOCSEXP 

IHOCSLOG 

IHOCSSCN 

IHOCSCQT 



IHODBUG 
IHODIOSE** 

IHOECOMH* 

IHOEDIOS* 

IHOEFIOS* 

IHOEFNTH* 

IHOERRM 

IHOETRCH* 

IHOFAINT 

IHOFCDXI 

IHOFCOMH** 

IHOFCONI 

IHOFCONO 

IHOFCQXI 

IHOFCVTH 

IHOFCXPI 

IHOFDUMP 

IHOFDVCH 

IHOFDXPD 

IHOFDXPI 

IHOFEXIT 



IHOFIFIX 

IHOFINTH** 

IHOFIXPI 

IHOFIOSH** 

IHOFIOS2 

IHOFMAXD 

IHOFMAXI 

IHOFMAXR 

IHOFMODI 

IHOFMODR 

IHOFOPT 

IHOFOVER 

IHOFQTEN 

IHOFQXPI 

IHOFQXPQ 

IHOFRXPI 

IHOFRXPR 

IHOFSLIT 

IHOFTEN 

IHOIBERH 
IHOIBERR 
IHOIOSUB 1 , 2 



IHOLASCN 

IHOLATN2 

IHOLDFIO 

IHOLERF 

IHOLEXP 

IHOLGAMA 

IHOLLOG 

IHOLSCN 

IHOLSCNH 

IHOLSQRT 

IHOLTANH 

IHOLTNCT 

IHONAMEL 

IHOQASCN 

IHOQATN2 

IHOQCONI 

IHOQCONO 

IHOQERF 

IHOQERF2 2 

IHOQSCN 

IHOQSCNH 



IHOQSQRT 
IHOQTANH 
IHOQTNCT 

IHOSASCN 

IHOSATAN 

IHOSATN2 

IHOSERF 

IHOSEXP 

IHOSGAMA 

IHOSLOG 

IHOSSCN 

IHOSSCNH 

IHOSSQRT 

IHOSTAE 2 

IHOSTANH 

IHOSTNCT 

IHOTRCH** 

IHOUTABL 
IHOUOPT 



1 Not available under CMS 
Available under OS on SYS1.LINKLIB 
♦Extended error handling routines 
**Non-extended error handling routines 



FORTRAN IV LIBRARY (MOD II) CMS INTERFACE MODULE 



IHOCMS 



The CSECT sizes for the FORTRAN IV Library (Mod II) modules can be 
found in the publications IBM OS FORTRAN IV Library - Mathematical and 
Service Subprograms , Order No. GC2 8-6 818 and IBM OS FORTRAN IV 
Mathematical and Service Subprograms Supplement for Mod I and Mod II 
Libraries, Order No. SC28-6864. 



70 



APPENDIX Bt SAMPLE PROGRAMS PRO DUCED BY THE COMPILER AND LIBRARY 
DISTRIBUTION TAPES 



FORTRAN IV <H EXTENDED) COMPILER UNDER OS 



The sample program that is produced oy the compiler distribution tape 
procedure is shown in Figure 11. 



LEVEL 9J < FEB 


71 


1 


CS/36C FOUTBAN * EXTEKCEC CAYE Tl.eST/lC. 23. «l 


MCE 1 


REOUESTEC CPTICNS 


: MAP 


.LIST 




OPTIONS IN EFFECT 


NAPE! »AIfc),NCCPTIMIZE,LIIiECCUNT<60>,SIZE<MAXI,AljTOCBMNOftE). 










SOURCE, EeCOIC, LI ST, NCDECK.CBJECT, MAP, NCFCR»»AT,NCGCSTMT,NCXRSF,NOALC,NCANSF,FLAGm 








C 


GENERALIZEC TEST CASE 








C 


TES 


T AOP AND XP WITH ^ESTE0 00«S, IF'S MITt-IN CO'S, VARIABLE 








c 


SUBSCRIPTS, GO TC KIThIN CC LOCP, MULTIPLE IF'S IN SUCCESSION 








c 


THE 


ROUTINE ITSELF APPROXIMATES THE SLCPE OF X**2 ♦ X«»3. THE TEST 








c 


CASE IS SELF CHECKING. SLCFE IS CALCULATEC AT Tl-E 5 MINTS CN THE 








c 


CURVE, l.,2.,3.,4., AND 5. 




ISN 


CCC2 






REAL*8 S<5CI ,T<5C>,M50I 




ISN 


CC03 






00 25 1-1,6 




ISN 


CCG4 




1 


E-C.C0C1 




ISN 


CCC5 




2 


TZ-I-1 




ISN 


crcf 




3 


P-ITZ+l.t l*TZ**2 




ISN 


CCC7 




A 


CELT - 0.1 




ISN 


CCC8 




5 


T (1) « TZ ♦ CELT 




ISN 


CCC9 




6 


S (11 * (T(l) ♦ l.C)*TU>**2 




ISN 


CC1C 




7 


DELS « S(l) - P 




ISN 


CCll 




R 


Mil » CELS/DELT 




ISN 


CC12 




9 


CO 16 J = 2,5C 




ISN 


cm 




K 


CELT « C.l * OELT 




ISN 


CC14 




11 


T(J) = TZ + CELT 




ISN 


Cf 15 




12 


S(J) = (T(J) ♦ l.C) *T(JI»»2 




ISN 


CC16 




13 


OELS » SIJI - P 




ISN 


CC17 




14 


W(J) ' DELS/OELT 




ISN 


rcie 




19 


IF (J - 2) 2C21,2C 




ISN 


CC19 




*2t 


A = MJ-1) - h(JI 




ISN 


CC2C 






6 = MJ-2) - MJ-ll 




ISN 


CC21 






IF (< - e) 21,22,22 




ISN 


0C22 




21 


IF IUJ-11 - MJI - E) 23,16,16 




ISN 


CC23 




16 


CONTINUE 




ISN 


CC24 




22 


V = KJ-ll 




ISN 


CC25 






GC TC 24 




ISN 


CC26 




23 


V - MJ> 




ISN 


CC27 




24 


IF (TZ.EC.C..AKC.V-C..GT..1I GC TC 26 




ISN 


CC29 






IF (TZ.EO.r.l GC TC 25 




ISN 


CC31 






IF (TZ.E0.1..AN0.V-5..GT..H GC TO 26 




ISN 


CC33 






IF (TZ.E0.1.I GC TC 25 




ISN 


CC35 






IF ITZ.E0.2..AN0.V-16..GT..1I GC TC 26 




ISN 


CC37 






IF (TZ.E0.2.) GC TC 25 




ISN 


TC3^ 






IF (TZ.E0.3..ANC.V-33..GT..1I GC TC 26 




ISN 


CC1 






IF (TZ.E0.3.I GC TC 25 




ISN 


CC43 






IF (TZ.EQ.4..ANC.V-56..GT..21 GC TC 26 




iSN 


CC45 






IF <TZ.EC.*.! GC TC 25 




ISN 


CCA7 






IF (TZ.EC.5..ANC.V-85..GT..2I GC TC 26 




1<K 


fC4c 






IFITZ.F0.5.I GC TC 25 




fSN 


CC51 






GC T_ 25 




ISN 


CC52 




26 


WRITE (6,1C( 1 TZ.V 




ISN 


CC53 




25 


CCNTINUE 




IS* 


CC*<. 






WRITE (6,1C1» 




ISN 


0055 




ICC 


FCPfAT (• TC11 FAILED WITH TZ AND V », RESPECT IVELV, • ,F*. 1 ,F12.*t 




ISN 


CC5fc 




1C1 


FORMAT (• TC 11 CCHFLETEC'l 




ISN 


CT57 






STCP 




ISN 


CC56 






ENC 





Figure 14. Sample Program Produced by the Compiler Distribution Tape 
Under OS 



72 



FORTRAN IV (H EXTENDED) COMPILER UNDER CMS 



The sample program that is produced Gy the compiler distribution tape 

mrrvoHlTr© T Q qhrsum in Pi rsn -re* 1 c . _ This <sr\fwr*t^. rvrnnram 1 i c+-ir..-i A r- .-, T -, -3 

c*- ~~ — — — - — - — — -- — — — -- - — 7j — — - » *«»-.»» w^^j-^v- ^j. wv)j. v-.i.i iiovxiiu j.o jyxa^cj 

in the IFESAMP LISTING file produced by the compiler depending upon the 
options you specified in step tt2) of the installation procedure. 



LEVEL 2 I SEPT 


6 


72 1 OS/360 FORTRAN H EXTENDE0 DATE 72.271/13.01.31 


PAGE 


REOUESTEO OPTIONS: 


SOURCE MAP LIST XREF TERM 




OPTIONS IN EFFECT: 


NAME! MAINI,NOOPTIMIZE,LIKECOUNT(60I,SIZF(MAXI,AUTODBLINONE), 








SOURCE, EBCDIC. LI ST, NOOECK, OBJECT, MAP, NOFORMAT.NOGOSTMT, XREF, NOALCNOANS F.TFRM, FLAGI SI 






C 


IFESAMP FORTRAN H EXTENDED SAPPLc PROGRAM IFEOOOiO 




ISN 0002 




URITEI6.10I IFE00020 




ISN 0003 


10 


FORMAT 1' SAMPLE JCB FOR H EXT COMPILER^/' ENTER SHORT MESSAGE «l IFE0003C 




ISN 0004 




READ 19,111 IFE00040 




ISN 000S 


11 


FORMAT I'TEXT ENTERED 1 ) IFE00050 




ISN 0006 




WRITE 16,111 IFE0GO6C 




ISN 000T 




X»l. IFE00P70 




ISN 000S 




WRITE 16,12) IFF00080 




ISN 0009 


12 


FORMAT!' END OF H EXTENDED SAMPLE JOeM IFE00090 




ISN 001C 




STOP IFE00100 




ISN 0011 




END IFE0011C 





Figure 15. Sample Program Produced t>y the Compiler Distribution Tape 
Under CMS 



Appendix B: Sample Programs 73 



FORTRAN IV LIBRARY (MOD ID UNDER OS 



The sample proqram that is produced Dy the library distribution tape 
procedure is shown in Fiqure 16. 



LEVEL 9J ( FEB 71 ) 
REOUESTEC CPTICNS: LIST, PAP 



CJ/36C FORTRAN H EXTENCEC 



CATE 71.C57/1C.20.32 



OPTIONS IN EFFECT: 







c 






c 






c 






c 






c 






c 






c 


ISN 


0CC2 




ISN 


CGC3 




ISN 


CCC4 




ISN 


0CC5 




ISN 


CCC6 




ISN 


C0C7 




ISN 


CCC8 




ISN 


GCC9 




ISN 


CC1C 




ISN 


CC11 




ISN 


CC12 





NAME* MAIM , NCCPT IM I Z E , L I NECCUNT <6C I , S I ZE ( MAX ) , AUTCCBL ( NONE ) , 
SOURCE,EBCDIC,LIST,NODECK,CBJECT,MAP,NOFCRMAT,NCGCSTMT,NCXREF,NOALC,NCANSF,FLAC(I I 

***************** ********»**»**»**»**»****»»**»**+»*»****»***»******4fc7CC0GC 

* *4675CCCC 

* THIS PROGRAM IS A TEST CASE CESIGNEC TC VERIFY THAT THE FORTRAN *468CC0CC 

* MCO II LIBRARY HAS BEEN PROPERLY INSTALLEC IN YCUR SYSTEM. THE *4685CC0C 

* REQUIREC JOB CCNTROL LANGUAGE STATEMENTS ANC THE CATA CARC *469C000C 

* ARE INCLUCED AS PART OF THE DECK. *4695G0CC 

* *470CGCOC 

* THE PROGRAM GENERATES A TABLE OF BINCMIAL CCEFFICIENTS WHICH IS *4705C0GC 

* THEN PRINTED ON THE SYSCUT DEVICE. ALL CATA EXCEPT THE FIRST *471CCC00 
» LINE CF OUTPUT IS PROGRAM GENERATED. *4715CC0C 

* *472CCCC0 

► *4725CG0C 

► THE OLTPUT SHOULD BE *473CC00C 

* *47350000 
» j , 1 *474CCC0C 

» I K I *4745C0CC 

* I 1 t- 1 *4750CCCC 

► I N I 1 2 3 4 5 6 7 8 9 1GI *4755CO0C 

t I 1 1 *476GCC0C 

►I1I1CGC G C C.CI *4765C0CC 

» I 2 I 2 1 C C C C C C C CI *477C0CCC 

► I 3 I 3 3 1 C C C C C CI *477500CO 
« I 4 I 4 6 4 1 C C C C CI *478C000C 
o I 5 I 5 1C 1C 5 1 C C C CI *4785C000 

* I 6 I 6 15 2C 15 6 1 C C C CI *479CCC0C 
» I 7 I 7 21 35 35 21 7 1 C C CI *47950C0C 
» I 8 I 8 28 56 7C 56 28 B 1 C CI *480000CO 

* I 9 I 9 36 84 126 126 84 36 9 1 C I *4805000C 

* I 1C I 10 45 120 21C 252 210 12C 45 1C II *481C0000 

* I 11 I 11 55 165 33C 462 462 33C 165 55 11 I *4815G0CC 

* I 12 I 12 66 22C 495 792 924 792 495 22C 66 I *48200CCC 

* I 13 I 13 78 286 715 1287 1716 1716 1287 715 286 I *48250CCC 

* I 14 I 14 91 364 1CC1 2C02 3CC3 3432 3C03 2CC2 1CG1 I *4830CC00 

* I 15 I 15 1C5 455 1365 3C03 5CC5 6435 6435 5C05 3CC3 I *4835CCCC 

* I 16 I 16 12C 56C 1820 4368 8CC8 1144C 1287C 1144C 80C 8 I *484C0C00 

* I 17 I 17 136 68C 238C 6188 12376 19448 2431C 2431C 19448 I *4845CCCC 

* I 18 I 18 153 816 306C e568 18564 31824 43758 4862C 43758 I *485C0C0C 

* I 19 I 19 171 969 3876 11624 27132 5C388 75582 92378 92378 I *48550C0C 

* I 2C I 2C 190 114C 4845 155C4 3876C 7752C 12597C 16796C 1E4756 I *486C0C0C 

* 1 1 1 »48650CGC 

* *487C000G 

******************************************************************** t,ey^Q^QQ 

OIMENSION NBYM2C10I ,HEAC(2C) 488CCOC0 

DC 1C K=1,1C 4885CC0C 

NBYK(l.K) = K 489C0C0G 

1C CCNTINUE 4895000C 

REAC (5,1) HEAD 490COCCC 

WRITE (6,2) HEAC 4905000C 

WRITE (6,3) <NBYK(1,K),K=1,]C) 491CC00C 

DC 30 N=1,2C 491500CC 

DC 2C K=1,1C 492CCC0C 

NBYMN.K) = KBINCOIN.K) 4925C00C 

2G CCNTINUE 493CGCO0 



LEVEL 9J ( FEB 71 ) 

ISN CC13 

ISN 0C14 

ISN CC15 

ISN CC16 

ISN CC17 

ISN C018 

ISN CC19 



ISN CC20 
ISN 0C21 
ISN CC22 



MAIN 



0S/36C FORTRAN H EXTENDED 



WRITE (6,41 N,(NBYK(N,K),K=1, 1C) 

CCNTINUE 

WRITE (6,5) 

STOP 

FCRMAT (2CA4) 

FORMAT CI FORTRAN G SAMPLE TEST CASE '/////// IX , 2CA4/ //// ) 

FCRMAT (T7,M',57( , -M,M , /T7,M',T35, , K',T65,' I'/T2,M I' 

< 57( •-•) ,M'/T2,M N I' ,12, 14, 215, 316, 317, • P/T2, 

< .] I<,57('-M,MM 

FCRMAT (• I • , I 3, • I' ,13,14,215,316,317, • IM 
FORMAT (' I I',57« , -M,MM 



CATE 71.057/1C.2C.32 

4935C00C 
494CCCCC 
4945000C 
495000CC 
49550CCC 
4960C0CC 
, 496500CC 
4970000C 
49750000 
4980OC0C 
49850000 
4S9C0C0C 



Figure 16. Sample Program Produced by the Library Distribution Tape 
(Part 1 of 2) 



74 



LEVEL C J ( FFP 71 1 
°tO'JESTEC CFTKNS: L1< T ,MAP 



CS/36C FCRTPAN H EXTENCEC 



CATE 71.C57/K.2C.5C 



OPTIONS IK EFFECT: NAfEl KAIM .NCCFT IK 1 1 E , I INECCLNT I fci I , S I ZE t MAX 1 , AUTCCBL ( NCHE ) , 

S r iUPCE.EeCCIC,LlST,NCCECK,CejECT,MAP,NCFCRMAT,NOGCSTMT,NC'XREF,NOALC.NCANSF,FLAGUI 



ISN CCC3 

ISN CCC5 

ISN rcC7 

ISN CCf<» 

ISN CC10 

ISN CCll 

ISN CM? 

isn rci*. 

ISN (.C15 

ISN CC16 

ISN cri7 

isn ccie 

ISN CC1«) 

ISN CC2C 

ISN CC21 

ISN CC22 

ISN 0C23 

ISN 0C24 

ISN CC25 

ISN TC26 

ISN CC27 

ISN CC26 

ISN CC29 

ISN CC3C 

ISN CC31 

ISN CC32 



* KEINCC CCMPUTES T HE BINOMIAL COEFFICIENT, 

* C(N.K) « <N*<N-1)*»»(N-M1I )/(K*(K-ll»*»l), 
> WHFOF N AND K ARE THE INTEGER APGUEMENTS TC 

* ThE FLNCTICN. IMERMECIATE CALCULATIONS APE 

* PERFORMED IN REAL ARITHMETIC. IN THE CASE 
» fcFEPE K .GT. K, A VALUE CF ZERO IS PETUPNEC. 

* THE VALl'ES OF N ANP K APE LEFT UNCHANGEC. 
» THE FUNCTION HAS PEEK CHECKEC FCP ALL CCK- 
' BiNnTICrS CF N=i,2,...,2C ANC K= 1 , 2 < . . . . 1C . 



C 
C 

c 

c 

C 

c 
c 
c 

C 

c 

FUNCTION KBINCC <N,K) 
CHECK FCR TRIVIAL CASES 

IF (K .GT. M GC TC 5C 



IF (K .EC. C 
IF (K .EC. 1 
CCNVERT TC REAL FCF 



• CB. 

• CR. 
INT. 



N .EC. K) GC TC 6C 
N-K .EC. 1) GO TO 7C 
CALCULATIONS 



CHECK FCR LCWFR 'DENOMINATOR • 

IF (P-0 .LT. CI * P-C 
COMPUTE DENOMINATOR 

MAX = 

PCT . l.C 

CC 30 1«2,MAX 

PCT = I*PCT 
3C CONTINUE 
COMPUTE NUMERATOR 

MAX = P 

MIN ■ P - ♦ l.C 

T^P « 1.0 

CC «C I«MIK,MAX 

TCP * l»TCP 
4C CONTINUE 
CALCULATE ANC RCUND BIN. COEFF. 

KBINCC = TCP/BOT ♦ C.5 

RETURN 
5C KeiNCC • C 

RETURN 
6C KBINCC ' 1 

RETURN 
7C KBINCG * N 

RFTURN 

ENC 



<i<;S5CCCC 
5CC0CCCC 
5CG50CCC 
5C1CCC0C 
5C15CCCC 
5C2CCGGC 
5C25CCCC 
5C3CC0CC 
5C350CCC 
5C4CC0CC 
5C45CCCC 
505CCCCC 
5C55CCCC 
5C6CCCCC 
5C65CCCC 
5C7CCCCC 
5C75CCCC 
5C8CCCGC 
5L85CCCC 
5C3CCCC C 
5C95CCCC 
51CCC0CC 
51C5CCCC 
511CC0CC 
5115CCCC 
512CCCCC 
5125CCCC 
513CCCCC 
5135C0CC 
514CCCCC 
5145CCCC 
515CCCCC 
5155CCCC 
516CCCCC 
51650CCC 
517CCG0C 
5175C0CC 
518CCC0C 
5185CCCC 
519GCCCC 
519500CC 
5200C0CC 
52C5C0CC 
521C0CCC 
5215CCCC 
522CCC0C 



Figure 16. Sample Program Produced by the Library Distribution Tape 
(Part 2 of 2) 



Appendix B: Sample Programs 75 



APP ENDIX C: INSTALLATION PROCEDURE MESSAGES 



FORTRAN IV (H EXTENDED) C O MPILER 

The following messages" are produced during the installation of the 
FORTRAN IV (H Extended) compiler. There are two types of messages, 
information and error. The information messages list the compiler 
default options that have been set by the execution of the FORTRANX 
macro instruction. The error messages indicate the incorrect coding of 
the FORTRANX macro instruction's keyword operands. 

The messages listed in Table 4 are produced after a successful assembly 
of the FORTRANX macro instruction. They indicate the keyword operand 
parameters that have been chosen as system defaults for each compiler 
option. No programmer response is necessary. 

INSTALLATION ERROR MESSAGES 

Error messages are produced when a syntax error (s) is encountered during 
the assembly of the FORTRANX macro instruction. When an error is 
detected, syntax checking continues; however, the macro is not executed. 
The error must be corrected and the macro instruction must be 
reassembled without errors for execution to occur. For a list of the 
messages, assemble the FORTRANX macro with an operand of IUSTERR=LIST. 

Explanation : The message will contain the parameter that was 
incorrectly coded for the keyword operand of the FORTRAN macro 
instruction and specify how to code it correctly. 

Programmer Response ; Correct the syntax of the keyword operand and 
reassemble. See the section "Coding the FORTRANX Macro Instruction" for 
more detailed information. If the problem recurs, do the following 
before calling IBM for programming support: 

• Have source deck and associated listing available. 



Appendix C: Installation Procedure Message:; 77 



Table 4. Compiler Installation Information Messages (Part 1 of 2) 

T T — - 



FORTRANX Macro) 

Operand that 1 

Produces 1 

Message 1 


Text of Message Produced 


1 Value of 
1 xxxxxxxx 


PUNCH= 






PUNCH OPTION FOR OBJECT DECK IS 
xxxxxxxx 


IDECK 

lor 

1 NODECK 


SORLIST= 






1 SOURCE 
LISTING OPTION FOR SOURCE PROGRAM IS I or 
xxxxxxxx 1 NOSOURCE 


STORMAP= 






RELATIVE LOCATION MAP OPTION IS 
XXXXXXXX 


IMAP 
1 or 
INOMAP 


OBJPROG= 






OUTPUT OPTION FOR OBJECT MODULE IS 
XXXXXXXX 


1 OBJECT 

lor, 

1 NOOB JECT 


SORCODE= 






SOURCE CODE CHARACTER SET OPTION IS 
xxxxxxxx 


IBCD 

lor 

1 EBCDIC 


OBJLIST= 






1 LIST 
LISTING OPTION FOR OBJECT PROGRAM IS lor 
xxxxxxxx INOLIST 


OPT= 






OBJECT PROGRAM OPTIMIZATION OPTION 
IS XX OPTIMIZATION 


11 NO 

1 2 or BASIC 

1 3 FULL 


LINECNT= 






OBJECT PROGRAM PRINT PAGE IS 
MAXIMUM OF XXX LINES 


I any number from 

II to 200 


ADSIZE= 






SIZE OF ADCON TABLE IS xxxx BYTES 


I any number from 
11024 to 16384 












CMSIZE= 






SIZE OF BACKWARD CONNECTOR TABLE IS 
xxx BYTES 


I any number from 
I 1024 to 65536 


OBJID= 






INTERNAL STATEMENT NUMBERING OPTION 
IS xxxxxxxx 


1 GOSTMT 

lor 

1 NOGOSTMT 


SOREDIT= 
SORXREF= 






STRUCTURED SOURCE LISTING OPTION IS 
xxxxxxxx 

SOURCE CROSS REFERENCE OPTION IS 
XXXXXXXX 


1 FORMAT 

lor 

1 NOFORMAT 

IXREF or 
INOXREF 


SORALC= 






ALIGN COMMON OPTION IS xx.xxx 


IALC or 
INOALC 


SORANSF= 






ANSI ONLY FUNCTION OPTION IS xxxxxx 


IANSF or 
INOANSF 


COMOVLY= 






COMPILER STRUCTURE SPECIFIED IS 
XXXXXXXX 


1 OVERLAY 
1 or 
INOOVERLAY 



78 



Table 4. Compiler Installation Information Messages (Part 2 of 2) 



FORTRANX Macro I 1 
Operand that ! 1 

Produces 1 lvalue of 
Message 1 Text of Messages Produced I xxxxxxxx 


I i TERMINAL 
SORTERM= 1 TERMINAL MESSAGES OPTION IS xxxxxxxx ! or 

1 INOTERMINAL 
+ --——_—— — — _-...-_—...... + ...._—— __..___. 

1 IMFT 
1 IMVT 
COMPSYS= 1 COMPILER OPTIMIZED FOR xxxxxxxx ITSO 
! SYSTEM ! VS 1 
i IVS2 or 
i i CMS 
+ 4 

1 II 
SORFLAG= 1 DIAGNOSTIC MESSAGE OPTION IS FLAG(x) IE or 
1 IS 
+ + 

COMOPTS= 1 xxxxxxxx OPTIONS CAN BE SELECTED 1 NO 
I FROM THE LIST: lor 
I LOAD/NOLOAD EDIT/NOEDIT ID/NOID 1 OBSOLETE 
1 OPT= LINECNT= SIZE= NAME= I 
I TRACE= 1 
+ — + 

SIZE= 1 MAIN STORAGE IS UNRESTRICTED: 1 ANY number from 
I SIZE(MAX) 1150 to 9999 
I or I 
I MAIN STORAGE IS RESTRICTED: I 
I SIZE(xxxxK) BYTES I 
+ + 

NAME= I MAIN PROGRAM NAME OPTION IS xxxxxxxx I name or 
I I MAIN 
+ + 

INSTERR= I THE LIST OF ALL INSTALLATION OPTION j LIST 
I ERROR MESSAGES WAS REQUESTED: lor 
I INSTALLATION IS TERMINATED AFTER INOLIST 
I LIST I 
I followed by all error messages I 
I or I 
I THE LIST OF ALL INSTALLATION OPTION I 
I ERROR MESSAGES WAS NOT REQUESTED I 
+ _ + 

I I DUMP 
*COMDUMP= | DUMP IS REQUESTED FOR UNRECOVERABLE lor 

I ERRORS INODUMP 
+ + 

*PERMXL= | EXTENDED LANGUAGE (XL) IS RECOGNIZED I 
+ + 

*TRACE= I TRACE OUTPUT REQUESTED IS TRACE I any number 
I (xxxxxxxx) | 



♦This message is printed only if the option is not the default; the 
message is provided only for IBM personnel responsible for program 
maintenance. 



Appendix C: Installation Procedure Messages 79 



FORTRAN IV LIBRARY (MOD II) 



The followinq messages are produced during the installation of tne 
FORTRAN IV Library (Mod II). There are two types of messages, 
information and error. The information messages list the library 
default options that have been set by the execution of the FORTLIB macro 
instruction. The error messages indicate tne incorrect coding of the 
FORTLIB macro instruction's keyword operands. 



LIBRARY INFORMATION MESSAGES 



The messages listed in Table 5 are produced after a successful assembly 
of the FORTLIB macro instruction. They indicate the keyword operand 
parameters that have been chosen as system defaults for each library 
option. No programmer response is necessary. 



Table 5. Library Installation Information Messages 

T 



FORTLIB Macro) | 
Operand that | j 

Produces | | Meaning of 

Message | Text of Message Produced j xxxxxxxx 

j.__ __ j. 


_ — .f__ __ ^ 

| | any 2-digit 
UNTABLE= | I/O UNIT TABLE WILL CONTAIN xx LOGICAL | number from 
| UNITS | 08 to 99 

4 + 

I J any 2-digit 
03JERR= | UNIT xx USED FOR 'PRINT' STATEMENTS, | number 
| ERROR MESSAGES AND DUMPS | 

+ 4 

| | any 2-digit 
ONLNRD= | UNIT xx USED FOR 'READ' STATEMENTS j number 

+ 4 

| | any 2-digit 
ONLNPCH= | UNIT xx USED FOR 'PUNCH* STATEMENTS | number 

_ j. _ j.__ 


T T 

| | EXCLUDE 
OPTERR= | OBJECT TIME ERROR HANDLING FACILITY IS | or 

| xxxxxxxx 1 INCLUDE 
_ __ 4 _ _ ± 


| | any 3 digit 
ADDNTRY= | xxx ADDITIONAL ERROR ENTRIES IN OPTION | number from 
| TABLE j 000 to 598 

4__ 4 

| BOUNDARY ALIGNMENT NOT REQUESTED | NOALIGN 
BOUNDRY= | or I or 

j BOUNDARY ALIGNMENT SPECIFIED j ALIGN 



LIBRARY ERROR MESSAGES 



The error messages listed below are produced when a syntax error (s) is 
encountered during the assembly of the FORTLIB macro instruction. When 
an error is detected, syntax checking continues; however, the macro 
instruction is" not executed. The errors must be corrected and the macro 
instruction must be reassembled without errors for execution to occur. 



80 



* * * IEIFOL107 UNTA3LE VALUE xx INVALID 

Explanation ; The field containing xx indicates the parameter that was 
incorrectly coded for the UNTABL£= keyword operand of the FORTLIB macro 
instruction. 

Programmer Response : Correct the syntax of the UNTABL= keyword operand 
and reassemble. See the section "Coding the FORTLIB Lacro Instruction" 
for more detailed information. If tne problem recurs, do tne following 
before calling IBM for programming support: 

• Have source deck and associated listing available. 

* * * Tj?TpoLlQ9 OBJERR VALUE xx INVALID 

Explanation : Tne field containing xx indicates the parameter that was 
incorrectly coded for the OBJERk= keyword operand of the FORTLIB macro 
instruction. 

Programmer Response : Correct the syntax of the OEJERR= keyword operand 
and reassemble. See the section "Coding the FORTLIB Macro Instruction" 
for more detailed information. If the problem recurs, do the following 
before calling IBM for programming support: 

• Have source deck and associated listing available. 



* * * IEIF0L111 ONLNRD VALUE xx INVALID 

Expl a nation : The field containing xx indicates the parameter that was 
incorrectly coded for the ONLNRD= keyword operand of the F0RTLI3 macro 
instruction. 

Progra m mer Response : Correct the syntax of the 0NLNRD= keyword operand 
and reassemble. See the section "coaing the FORTLIB Macro Instruction" 
for more detailed information. If the problem recurs, uo tne j-OxxOwing 
before calling IBM for programming support: 

• Have source deck and associated listing available. 

* * * IEIF0L113 ONLNPCH VALUE xx INVALID 

Explanatio n: The field containing xx indicates the parameter that was 
incorrectly coded for the ONLNPCK= keyword operand of tne FORTLIB macro 
instruction. 

Programmer Response : Correct the syntax of the ONLNPCH= keyword operand 
and reassemble. See the section "Coding the FORTLIB Macro Instruction" 
for more detailed information. If the problem recurs, do the following 
before calling IBM for programming support: 

• Have source deck and associated listing available. 

* * * IEIF OL11U BOUNDARY VALUE xxxxxxxx INVALID 

Explanation : The field containing xxxxxxxx indicates the parameter that 
was incorrectly coded for the BOUNDRY= keyword operand of the FORTLIB 
macro instruction. 



Appendix C: Installation Procedure Messages 81 



Programmer Response : Correct the syntax of the BOUNDRY= keyword operand 
and reassemble. See the section "Coding the FORTLIB Macro Instruction" 
for more detailed information. If the problem recurs, do the followinq 
before calling IBM for programming support: 

• Have source deck and associated listing available. 

* * * IEIF0L115 OPTERR VALUE xxxxxxxx INVALID 

Explanation : The field containing xxxxxxxx indicates the parameter that 
was incorrectly coded for the OPTERR= keyword operand of the F0RTL1E 
macro instruction. 

Programmer Response : Correct the syntax of the OPTERR= keyword operand 
and reassemble . See the section "Coding the FORTLIB Macro Instruction" 
for more detailed information. If the problem recurs, do the following 
defore calling IBM for programming support: 

• Have source deck and associated listing available. 



* * * IEIF0L116 ADDNTRY VALUE xxx INVALID 

Explanation : The field containing xxx indicates the parameter that was 
incorrectly coded for the ADDNTRY= keyword operand of the FORTLIB macro 
instruction. 

Programmer Response : Correct the syntax of the ADDNTRY= keyword operand 
and reassemble. See the section "Coding the FORTLIB Macro Instruction" 
for more detailed information, If the problem recurs, do the following 
before calling IBM for programming support: 

• Have source deck and associated listing available. 



82 



^>1UU/k 



Where more than one page reference is 
given, the major reference appears first, 



ADDNTRY operand 43,45 

ADSIZE operand 16,19 

assembling modules on release 19 63 



BOUNDRY operand 43,44 



cataloged procedures 
on SYS1.PR0CLIB 13 
storage for 57 
CMS installation procedures 
for compiler 27 
for library 47 
CMSIZE operand 16,19 
COMDUMP "operand 17,24 
COMOPTS operand 16,23 
COMOVLY operand 16,22 
compiler 

cataloged procedures for 13 
CSECT sizes 68 
distribution tape under CMS 
format of 9 
steps for running 27 
distribution tape under OS 
format of 9 
effect of 26 
preparation for 12 
steps for running 25 
installation under CMS 
messages 77-82 
procedures 27 
requirements 27 
installation under OS 
messages 77-82 
on private libraries 12-13 
procedures 9 
requirements 9 
on SYS1.LINKLIB 13 
on SYS1.PR0CLIB 13 
with SYS1.PP0PTI0N 13 
user-written installation 
procedure 12 
modules 68 
sample program 56,57 
under CMS 32,73 
under OS 26,72 
storage requirements 
under CMS 58 
under OS 56,57 
COMPSYS operand 16,22 
concatenating data sets 

list) 
CSECT sizes 

for compiler 68 
for library 70 
using IMBMDMAP 68 



56,57 



(see link library 



communications vector table (CVT) 

for Model 85 or 195 62 

modifying 62 
CVT (see communications vector table) 



distribution tape 

for compiler under CMS 
format of 9 
steps for running 27 

for compiler under OS 
format of 9 
effect of 26 
preparation for 12 
steps for running 25 

for library under CMS 
format of 37 
steps for running 48 

for library under OS 
format of 37 
effect of 46 
preparation for 40 
steps for running 45 

extended error handling facility 
description of 64 
PREFACE for 64 
SETENT for 64 
macro definition for 64,66 



FORTLIB macro instruction 

description of 42 

example of 42 

format of 42 

operands for 

ADDNTRY 43,45 
BOUNDRY 43,44 
OBJERR 43,44 
ONLNPCH 43,44 
ONINRD 43,44 
OPTERR 43,44 
UNTABLE 43 
FORTRANX macro instruction 

description of 14 

example of 14 

format of 16 

operands for 

ADSIZE 16,19 
CMSIZE 16,19 
COMDUMP 17,24 
COMOPTS 16,23 
COMOVLY 16,22 
COMPSYS 16,22 
INSTERR 17,23 
LINECNT 16,19 
NAME 17,23 
OBJID 16,20 
OBJLIST 16,20 
OBJPROG 16,18 
OPT 16,20 



Index 83 



PERMXL 


17,24 


PUNCH 16,18 


SIZE 11 


',23 


SORALC 


16,21 


SORANSF 


16,21 


SORCODE 


16,18 


SOREDIT 


16,20 


SORFLAG 


16,22 


SORLIST 


16,18 


SORTERM 


16,22 


SORXREF 


16,21 


STORMAP 


16,18 


TRACE 17,24 



IMASPZAP service aid 

for release 19 installation 60 

for Model 85 or 195 installation 62 
IMBMDMAP service aid 68 
installation messages 

for compiler 77-79 

for library 80-82 
installation procedures under CMS 

for compiler 27 

for library 47 
installation procedures under OS 

for compiler 9,12 

for library 37,40 

overview of 10,38 

for release 19 59,60 
installation requirements under CMS 

for compiler 27 

for library 47 
installation requirements under OS 

for compiler 9 

for library 37 

for release 19 40 
INSTERR operand 17,23 



JOBLIB statement 

for compiler installation 12-13 
for library installation 40,41 
for release 19 installation 61 



library 

CSECT sizes 70 

distribution tape under CMS 
format of 37 
steps for running 48 

distribution tape under OS 
format of 37 
effect of 46 
preparation for 40 
steps for running 45 

installation under CMS 
messages 77-82 
procedures 47 
requirements 47 

installation under OS 
messages 77-82 
on private libraries 40,41 
procedures 37 
requirements 37 
on SYS1.FORTLIB 41 
on SYS1.LINKLIB 41 



with SYS1.PP0PTI0N 41 
user-written installation 
procedure 40 
modules 7 
sample programs 46,74 
storage requirements 57 
LINECNT operand 16,19 
link library list 66 



macro definition for extended error 

handling 6 4 
Model 85 or 19 5 

installation on 62 

modifying CVT for 6 2 
modules 

for compiler 68 

for library 70 



NAME operand 17,23 



OBJERR operand 4 3,44 
OBJID operand 16,20 
OBJLIST operand 16,20 
OBJPROG operand 16,18 
ONLNPCH operand 4 3,44 
ONLNRD operand 43,44 
OPT operand 16,20 
OPTERR operand 4 3,44 



PERMXL operand 17,24 

riuimuij xu.'. cAtcnflcu error nanciixng 

PRIME procedure 28,49 

private libraries 

for compiler installation 

to replace SYS1 .LINKLIB 13 
to replace SYS1.PROCLIB 13 
for library installation 

to replace SYS1.FORTLIB 41 
to replace SYS1. LINKLIB 41 
for release 19 installation 
to replace SYS1. LINKLIB 61 
Program Temporary Fix 
for CMS 

compiler 2 7,30 
library 47,53 
for OS 59,66 
PTF ( see program temporary fix) 
PUNCH operand 16,18 



release 21 

assembling modules on 63 

extended precision floating point 
simulator 60,6 2 

installation on 9 

modifying 60 

PTFs for 59,60 
release 20 distribution library 63 



sample programs 

for compiler under CMS 
description of 32 
example of 73 



84 



for compiler under OS 
description of 26 
example of 72 

for library under CMS 54 

for library under OS 
description of 46 
example of 74 
scratch A disk 28,48 
SETENT for extended error handling 
SIZE operand 17,23 
SORALC operand 16,21 
SORANSF operand 16,21 
SORCODE operand 16,18 
SOREDIT operand 16,20 
SORFLAG operand 16,2 2 
SORLIST operand 16,18 
SORTERM operand 16,22| 
SORXREF operand 16,21 
STEPLIB statement 

for compiler 12,13 

for library 27,28 

for release 19 61 
storage requirements 

for compiler under CMS 58 

for compiler under OS 
dynamic 56 
secondary 5 7 

for library under CMS 58 

for library under OS 57 

for SYS1.FORTLIB 57 



64 



for SYS1.LINKLIB 57 

for SYS1.PPOPTION 57 

for SYS1.PROCLIB 57 
STORMAP operand 16,18 
SYSLIN blocksize 67 
SYS1.FORTLIB 

for library 

storage for 
SYS1.LINKLIB 

for compiler 

for library 

for release 19 44 

storage for 57 
SYS1.PP0PTI0N 

for compiler 

for library 

storage for 
SYS1.PROCLIB 



41 
57 

13 
41 



13 
41 
57 



^.WJ. >_ V_/ill£^-l- J. <— X A.J 

storage for 57 



TRACE operand 17,24 



UNTABLE operand 43 

user-written installation procedure 

for compiler 12 

for library 40 

for release 19 61 



Index 85 



READER'S COMMENTS 



TITLE: IBM FORTRAN IV FORM: SC28-6861-2 

(H Extended) Compiler and 
FORTRAN Library (Mod II) 
forOSandVM/370(CMS) 
Installation Reference Material 



Your comments assist us in improving the usefulness of our publications; they are an important part 
of the input used in preparing updates to the publications. All comments and suggestions become 
the property of IBM. 

Please do not use this form for technical questions about the system or for requests for additional 
publications; this only delays the response. Instead, direct your inquiries or requests to your IBM 
representative or to the IBM Branch Office serving your locality. 

Corrections or clarifications needed: 
Page Comment 



Please include your name and address in the space below if you wish a reply. 



Thank you for your cooperation. No postage necessary if mailed in the U.S.A. 



fold 



fold 



FIRST CLASS 
PERMIT NO. 33504 
NEW YORK, N.Y. 



BUSINESS REPLY MAIL 

NO POSTAGE NECESSARY iF MAilED IN THE UNITED STATES 



POSTAGE WILL BE PAID BY . . . 

IBM CORPORATION 
1271 Avenue of the Americas 
New York, New York 10020 



Attention: PUBLICATIONS 




DO 

T» 
O 
3) 
H 
33 
> 
Z 



m 
x 



O 
o 

3 
■o 



S° 



o 

Q. 



r 
or 



8 



3 

a. 



CO 

o 



fold 



fold 



S3 



International Business Machines Corporation 

Data Processing Division 

1133 Westchester Avenue, White Plains, New York 10604 

(U.S.A. only) 

IBM World Trade Corporation 

821 United Nations Plaza, New York, New York 10017 

(International) 



3 

c 

CO 

> 

en 

o 

N3 
CO 

6) 
CO 
CD 



SC28-6861-2 



International Business Machines Corporation 

Data Processing Division 

1133 Westchester Avenue, White Plains, New York 10604 

(U.S.A. only) 

IBM World Trade Corporation 

821 United Nations Plaza, New York, New York 10017 

(International) 



CD 



O 
3D 

H 
30 
> 

z 



m 
x 

i-f 

o 
o 

3 



29 



< 

o 

O 
en 
n> 

Q. 



CO 

o 

3D 

5" 



C 
en 
> 

en 
O 

00 

en 

CD